排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术
分类:
.NET MVC
.net分部页的三种方式
第一种:
@Html.Partial("_分部页")
第二种:
@{
Html.RenderPartial("分部页");
}
第三种:
@{ Html.RenderAction("action", "控制器"); }
这种方式由于需要请求控制器,可以在控制器里边提供参数,使用分部页的时候就可以不用传递了
例如通过model与viewdata给分部视图传递一点参数:
public class SharedController : Controller { public ActionResult MyClassPartialPage() { ExternalLogin externalLogin = new ExternalLogin(); externalLogin.Provider = "京东3"; externalLogin.ProviderDisplayName = "自营3"; ViewData["name"] = "xj"; return View(externalLogin); } }
分布页可以把复杂的页面细分为一块一块的,方便维护
逻辑也更清晰
自己完成自己那一块的功能,组合成一个复杂一点的页面
tip:.net core中没有这种分部页加载写法了,可以考虑使用视图组件ViewComponent
官方文档:
https://docs.microsoft.com/zh-cn/aspnet/core/mvc/views/view-components?view=aspnetcore-3.1
.net core分部页的加载方式
分部标记帮助程序
<partial name="_PartialName" />
或者接后缀:
<partial name="_PartialName.cshtml" />
视图必须与调用分部视图的标记文件位于同一文件夹中
异步调用:
@await Html.PartialAsync("_PartialName")
或者指定完整路径(需要接后缀)
@await Html.PartialAsync("~/Views/Folder/_PartialName.cshtml")
.net core中的视图组件可以参考:
http://www.tnblog.net/aojiancc/article/details/3340
视图组件类优点:
完全支持构造函数依赖注入
不参与控制器生命周期,这意味着不能在视图组件中使用过滤器
欢迎加群讨论技术,群:677373950(满了,可以加,但通过不了),2群:656732739
评价