应无所住,而生其心
排名
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 core分部页

6173人阅读 2018/11/24 13:35 总访问:4712868 评论:0 收藏:0 手机
分类: .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

评价