📅  最后修改于: 2023-12-03 14:59:24.353000             🧑  作者: Mango
ASP.NET MVC是一种Web应用程序框架,用于开发Web应用程序。
视图是MVC模式的一部分,它是用户界面(UI)的呈现部分。该视图显示Controller处理用户的请求后获得的数据。
在ASP.NET MVC中,可以通过两种方式创建视图
使用Visual Studio创建视图: 在解决方案资源管理器中,右键单击要添加视图的文件夹,然后选择“添加”>“视图”。在“添加新项目”对话框中,选择“ASP.NET Web 应用程序”。
使用命令行创建视图: 打开命令提示符,然后转到已创建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提供一种特殊的格式化字符串语法,使开发人员可以轻松地格式化字符串变量。例如,以下代码演示如何将变量格式化为货币格式:
<p>Price: @Model.Price.ToString("c")</p>
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应用程序的数据,为更好地完成开发任务,建议熟悉基本的视图语法和控制结构。