ASP.NET --- MVC分部视图

分部视图简介

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

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

分部视图的使用

  1. 编写分部视图

    和普通视图实现方式类似

    @model Model.UserInfor
        
    @if (Model!=null)
    {
        @Model.Name
    }

     

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

    使用专门的HtmlHelper方法

    当前用户:@Html.Action("GetCurrentUser","Home")

     

  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方法显示分部视图,这种方法直接传递的是分部视图名称和数据模型,而不用动作方法

      

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

     

两种分部视图比较

调用分部视图 调用动作方法
只需要实现分部视图 需要实现分部视图和动作方法
只可以在容器视图运行,和容器视图耦合高 可以独立运行,模块化高
使用不需要动态数据、显示静态的内容 使用需要数据、显示动态变化的内容

你可能感兴趣的:(ASP.NET --- MVC分部视图)