在ASP.NET MVC中,视图(Views)和布局(Layouts)是构建用户界面的关键概念。视图表示单个页面,而布局用于定义整个应用程序中的共享结构和外观。

视图(Views):

1. 创建视图:
   - 在Views文件夹中,根据控制器的名称创建一个文件夹,然后在该文件夹中添加 Razor 视图文件(例如,Index.cshtml)。

2. Razor 语法:
   - 使用 Razor 语法在视图中嵌入服务器端代码。
   - @ 符号用于在 HTML 中嵌入 C# 代码,例如:<p>Welcome, @Model.Name!</p>。

3. 模型传递数据:
   - 控制器通过 View 方法将数据传递给视图。
   - 在视图中通过 @Model 或 @ViewBag 来访问传递的数据。
    // 在控制器中
    public ActionResult Index()
    {
        var model = new MyModel { Name = "John" };
        return View(model);
    }

    // 在视图中
    <p>Welcome, @Model.Name!</p>

布局(Layouts):

1. 创建布局:
   - 在Views\Shared文件夹中添加一个 Razor 布局文件(例如,_Layout.cshtml)。
   - 布局文件通常包含整个应用程序的共享结构,如页眉、页脚和导航。

2. 定义布局结构:
   - 使用 @RenderBody() 来指定视图内容的位置。
   - 使用 @RenderSection("sectionName", required: false) 来指定可选的片段位置。
    <!DOCTYPE html>
    <html>
    <head>
        <title>@ViewBag.Title</title>
    </head>
    <body>
        <header>
            <!-- 共享页眉 -->
        </header>

        <div id="main-content">
            @RenderBody()
        </div>

        <footer>
            <!-- 共享页脚 -->
        </footer>

        @RenderSection("scripts", required: false)
    </body>
    </html>

3. 指定布局:
   - 在视图中使用 @{ Layout = "~/Views/Shared/_Layout.cshtml"; } 来指定使用的布局。
    @{
        Layout = "~/Views/Shared/_Layout.cshtml";
    }

    <h2>Content of the Index View</h2>

通过使用布局,可以在整个应用程序中维护一致的外观,并且能够轻松地更新共享元素。布局提供了一个模板,让你在应用程序中创建一致的用户体验。


转载请注明出处:http://www.pingtaimeng.com/article/detail/6561/ASP.NET