📜  ASP.NET MVC-视图(1)

📅  最后修改于: 2023-12-03 14:59:24.353000             🧑  作者: Mango

ASP.NET MVC-视图

ASP.NET MVC是一种Web应用程序框架,用于开发Web应用程序。

视图是MVC模式的一部分,它是用户界面(UI)的呈现部分。该视图显示Controller处理用户的请求后获得的数据。

创建视图

在ASP.NET MVC中,可以通过两种方式创建视图

  1. 使用Visual Studio创建视图: 在解决方案资源管理器中,右键单击要添加视图的文件夹,然后选择“添加”>“视图”。在“添加新项目”对话框中,选择“ASP.NET Web 应用程序”。

  2. 使用命令行创建视图: 打开命令提示符,然后转到已创建MVC应用程序的根目录。键入以下命令来创建一个新的视图文件:

dotnet aspnet-codegenerator view MyView --model MyModel --dataContext ApplicationDbContext --relativeFolderPath Views/MyController

其中:

  • MyView是视图文件名称
  • MyModel是该视图的模型类名
  • ApplicationDbContext是使用的数据上下文
  • Views/MyController是视图文件所在的文件夹路径
视图语法

使用视图语法,可以呈现Web应用程序的数据。视图语法非常类似于HTML模板语言,并且具有内置的极道和控制结构。

实例

以下示例演示如何使用C# Razor语法创建视图,以显示从控制器传递的数据:

@model IEnumerable<MyApp.Models.MyModel>

<html>
   <head>
      <title>My View</title>
   </head>
   <body>
      <h1>My View</h1>
      
      <table>
         <thead>
            <tr>
               <th>ID</th>
               <th>Name</th>
            </tr>
         </thead>
         <tbody>
            @foreach (var item in Model)
            {
               <tr>
                  <td>@item.Id</td>
                  <td>@item.Name</td>
               </tr>
            }
         </tbody>
      </table>
   </body>
</html>
视图语法元素

以下是视图语法的主要元素:

模型声明

在视图中,@model声明为视图的模型类型,如下所示:

@model MyModelClass

如果该视图使用了ViewModel,代码如下:

@model MyViewModelClass

输出数据

视图通常是用于将Model数据呈现到Web应用程序的页面,为此,使用以下语法读取和输出模型属性的值:

@Model.PropertyName

例如,以下语法输出模型的Name属性:

<p>Hello, @Model.Name</p>

Razor格式化字符串语法

Razor提供一种特殊的格式化字符串语法,使开发人员可以轻松地格式化字符串变量。例如,以下代码演示如何将变量格式化为货币格式:

<p>Price: @Model.Price.ToString("c")</p>

HTML助手

ASP.NET MVC提供了一系列HTML助手方法,这些助手方法能够生成HTML元素。HTML助手会将提供的模型关联到HTML元素的name属性,从而生成合适的HTML表单元素。例如:

<p>
   @Html.LabelFor(m => m.Name)
   @Html.TextBoxFor(m => m.Name)
</p>

控制结构

与其他编程语言一样,视图也使用诸如if和foreach之类的控制结构。例如,如下代码演示如何使用foreach遍历视图中的Model集合:

@foreach (var item in Model)
{
   <p>@item.SomeValue</p>
}
结论

ASP.NET MVC框架特别针对Web开发,该框架采用MVC(Model-View-Controller)设计模式,许多大型的Web应用程序都使用该框架进行开发。视图是MVC模式的一部分,是用户界面(UI)的呈现部分。在视图中,可以使用通用标记语言指示符(CSHTML)或VBHTML(已停用)等语法来呈现HTML UI。使用视图语法,可以呈现Web应用程序的数据,为更好地完成开发任务,建议熟悉基本的视图语法和控制结构。