ASP.NET MVC:@section 的目的是什么? [关闭]

2023-11-26

对于 ASP.NET MVC 应用程序,我看到这篇博客文章。 作者 ScottGu 补充道@section到 Index.cshtml。

我有几个问题(参考上面的文章):

  • Index.cshtml 是共享视图吗?
  • 示例代码使用@section特定视图中的代码。为什么?

有人可以解释一下我为什么以及何时使用@section在视图中?


@section用于定义从共享视图覆盖的内容。基本上,它是您调整共享视图的一种方法(类似于 Web 表单中的母版页)。

你可能会发现Scott Gu 写的这篇文章非常有趣.

编辑:基于附加问题澄清

The @RenderSection语法进入共享视图,例如:

<div id="sidebar">
    @RenderSection("Sidebar", required: false)
</div>

然后这将被放置在您的视图中@Section syntax:

@section Sidebar{
    <!-- Content Here -->
}

在 MVC3+ 中,您可以直接定义用于视图的布局文件,也可以为所有视图使用默认视图。

通用视图设置可以在 _ViewStart.cshtml 中设置,它定义了与此类似的默认布局视图:

@{
    Layout = "~/Views/Shared/_Layout.cshtml";
}

您还可以设置共享视图直接在文件中使用,例如直接在index.cshtml中使用,如此片段所示。

@{
    ViewBag.Title = "Corporate Homepage";
    ViewBag.BodyID = "page-home";
    Layout = "~/Views/Shared/_Layout2.cshtml";
}

您可以通过多种方式调整此设置,其中提到了更多方法这个答案.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ASP.NET MVC:@section 的目的是什么? [关闭] 的相关文章

随机推荐