ASP.NET --- MVC分部视图

分部视图简介

  1. 将页面中公共内容封装的视图技术,实现内容的重用(和母版页不同)

  2. 可以出现在其他视图内的"任何位置",相当于ASP.NET Webform中的“用户控件”

分部视图的使用

  1. 编写分部视图

    和普通视图实现方式类似

    @model Model.UserInfor
        <style>
            .infor{
                display:block;
                width:200px;
                height:50px;
                background-color:aqua;
                color:red;
            }
        </style>
    @if (Model!=null)
    {
        <span class="infor">@Model.Name</span>
    }

     

  2. 在主视图中的使用地方添加分部视图

    使用专门的HtmlHelper方法

    <h2>当前用户:@Html.Action("GetCurrentUser","Home")</h2>

     

  3. 在控制器中添加对应的动作方法并传递参数

     [Authorize]
            public ActionResult GetCurrentUser()
            {
                UserInfor user = (UserInfor)TempData["CurrentUser"];
                TempData["CurrentUser"] = user;
                //返回分部视图
                return PartialView("PartialPage",user);
            }

     

编写分部视图

  1. 在Shared文件夹下添加分部视图

  2. 在控制器中添加分部视图的动作方法时使用return PartialView()返回视图

  3. 在主视图中需要添加分部视图的地方使用htmlhelper的指定方法可以使用@Html.Action,通过请求控制器的动作方法返回分部视图。也可以直接调用@Html.Partial方法显示分部视图,这种方法直接传递的是分部视图名称和数据模型,而不用动作方法

      <h3>当前用户:@Html.Partial("PartialPage",(Model.UserInfor)TempData["CurrentUser"])</h3>

     

两种分部视图比较

调用分部视图调用动作方法
只需要实现分部视图需要实现分部视图和动作方法
只可以在容器视图运行,和容器视图耦合高可以独立运行,模块化高
使用不需要动态数据、显示静态的内容使用需要数据、显示动态变化的内容
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值