MVC学习七:Razor布局之加载分部视图【PartialView】

Partial View 顾名思义就是Html代码片段,应用于此HTML代码多次被页面加载时使用。(类似于WebForm程序中的用户控件)

注:PartialView和正常的View页面在访问时没有任何区别

一、PartialView的创建

在Views文件夹下,选中你要添加PartialView的文件右击=>添加=>点击View=>弹出添加View窗口(和正常添加View页面是一样的),在窗口中勾选【创建分部视图】下面就OK了。

二、加载分部视图

1、通过Ajax方式

Index页面代码

 1 @section scripts{
 2     <script type="text/javascript">
 3         window.onload = function () {
 4             document.getElementById("btnLoadPart").onclick = function () {
 5                 var xhr = new XMLHttpRequest();
 6                 xhr.open("get", "/Home/LoginPart", true);//访问控制器类Home中的LoginPart方法
 7                 xhr.setRequestHeader("If-Modified-Since", 0);//清除缓存
 8                 xhr.onreadystatechange = function () {
 9                     if (xhr.readyState == 4 && xhr.status == 200)
10                     {
11                         var htmlNew = xhr.responseText;
12                         document.getElementById("divCon").innerHTML = htmlNew;
13                     }
14                 };
15                 xhr.send(null);
16             };
17         };
18     </script>
19 }
20 
21 <input type="button" value="请求分部视图" id="btnLoadPart" />
22 <div id="divCon"></div>

分部视图控制器类(Home)中的LoginPart方法代码

1         /// <summary>
2         /// 加载 分部视图的 Action 方法
3         /// </summary>
4         public ActionResult LoginPart()
5         {
6 return PartialView();//PartialView方法不会加载布局页面【_ViewStart.cshtml】,View()方法会加载布局页面【_ViewStart.cshtml】 7 }

 2、View直接加载分部视图

①通过@{Html.RenderPartial("分部视图的View页面路径【~/Views/Home/LoginPart.cshtml】");} //无返回值

②通过@Html.Partial("分部视图的View页面路径【~/Views/Home/LoginPart.cshtml】")//返回值类型为MvcHtmlString的字符串

③通过@{Html.RenderAction("在同一个控制器类中可以直接写方法名【LoginPart】");}//无返回值

④通过@Html.Action("在同一个控制器类中可以直接写方法名【LoginPart】")//返回值类型为MvcHtmlString的字符串

TempData传值:一次请求,通过Html.Action或Html.RenderAction请求页面时,Action方法之间的传值

如图:

 

转载于:https://www.cnblogs.com/WarBlog/p/7211208.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值