Razor 允许你以非常灵活的方式生成 HTML。它的核心在于视图模型和 Razor 语法之间的协同工作。
首先,你需要理解 Razor 的工作原理。Razor 视图本质上是一个包含 HTML 标记和 C 代码片段的混合文件。当你的 ASP.NET MVC 或 Razor Pages 应用程序处理一个请求时,服务器会执行这个 Razor 文件。在这个过程中,C 代码会运行,获取数据(通常通过一个视图模型),然后将这些数据嵌入到 HTML 中。最终,服务器会把生成好的纯 HTML 发送到用户的浏览器。
关于调整 HTML 格式,这主要体现在两个层面:数据的呈现方式 和 HTML 结构的组织。
数据的呈现方式:
Razor 最直接的控制 HTML 格式的方式就是如何将你的 C 数据插入到 HTML 中。你可以直接在 HTML 标签中使用 `@Model.PropertyName` 来输出属性的值。例如,如果你的视图模型有一个 `Title` 属性,你可以在一个 `
` 标签中这样显示它:
```html
@Model.Title
```
但你不仅仅是简单地输出字符串。你可以对数据进行格式化。例如,如果你有一个 `DateTime` 类型的属性 `PublishDate`,你想以特定的格式显示,可以这样做:
```html
Published on: @Model.PublishDate.ToString("yyyyMMdd")
```
这里的 `.ToString("yyyyMMdd")` 就是对 C 的 `DateTime` 对象进行格式化,确保输出的日期符合你想要的格式。你可以使用任何有效的 C 格式化字符串。
对于数字,你可以使用格式化字符串来控制小数点位数、千位分隔符等:
```html
Price: @Model.Price.ToString("C2")
```
这里的 `"C2"` 会将数字格式化为货币,并保留两位小数。
HTML 结构的组织:
Razor 的灵活性还体现在你可以自由地使用任何 HTML 元素来组织你的数据。你可以使用 `
`、`
`、`
`、`- `、`
` 等任何你需要的 HTML 标签,并在其中嵌入你的 C 代码。
例如,如果你有一个用户列表,你可以使用一个 `