微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ASP.NET Core – Partial View

前言

之前写过一篇 ASP.NET Core – View Component 里面有提到, View Component 是 Partial View 的加强版.

多了一个 .cs 可以写逻辑. 那如果我们不需要那么复杂就可以使用简化版的 Partial View 了.

 

重点

1. 一个 View .cshtml, 一个 View Model .cs

2. 用 Tag Helper 或者 IHtmlHelper 调用

3. view name 查找 view file 路径

 

Create View (.cshtml) and viewmodel (.cs)

files

微软的命名规范开始会有下划线, 但我没有 follow

内容

.cshtml 里面不可以用 @page 哦.

 

调用

Index.cshtml

@page
@model IndexModel
@{
  ViewData["Title"] = "Home page";
   var viewmodel = new HelloWorldPartialviewmodel
  {
    Value = "Value"
  };
}

<partial name="HelloWorldPartial" model="@viewmodel" />
<partial name="/Pages/HelloWorldPartial.cshtml" model="@viewmodel" />
@await Html.PartialAsync("HelloWorldPartial", viewmodel)
@await Html.PartialAsync("/Pages/HelloWorldPartial.cshtml", viewmodel)

1. Tag Helper <partial> 调用, 使用 View Name

2. Tag Helper <partial> 调用, 使用 View Path

3. IHtmlHelper PartialAsync 调用, 使用 View Name

4. IHtmlHelper PartialAsync 调用, 使用 View Path

 

我推荐使用第 2 个方式.

 

View Name 查找 View File

 

上面 5 个是查找路线.

1. same folder 

2. ancestor's folders (祖先 folder 都可以)

3. root /Shared 里面

4. root /Pages/Shared 里面

5. root Views/Shared 里面

我一向不鼓励依赖 ASP.NET Core 的这种潜规则查找的. 通常不符合正常的开发 folder structure.

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐