Visual

12 Views 下.mp4 (63.38MB)

Partial View

  • 复用 View 代码
  • 可以嵌套
  • 没有自己的 Model
  • 两种用法
    • partial Tag Helper(推荐)
    • @Html.Partial("_PartialViewName", data)

image.png

Partial View:

  1. @model StudentViewModel
  2. <tr>
  3. <td>@Model.Name</td>
  4. <td>@Model.Age</td>
  5. </tr>

使用 Partial View:

  1. @model IEnumerable<StudentViewModel>
  2. <table>
  3. <thead>
  4. <tr>
  5. <th>姓名</th>
  6. <th>年龄</th>
  7. </tr>
  8. </thead>
  9. @foreach (var s in Model)
  10. {
  11. <partial name="_StudentRow" for="@s"/>
  12. }
  13. </table>

View Components

  • 可复用
  • 独立的组件
  • 有独立的逻辑/数据
  • 相当于迷你 MVC 请求
  • 不依赖于父级 View 的数据

image.png

和 Partial View 类似,View Component 也有两种用法,依然推荐 Tag Helper 用法。

  • @await Component.InvokeAsync("Welcome")
  • <vc:welcome-students></vc:welcome-students> (推荐)

源码

Tutorial.zip