MVC学习七:Razor布局之加载分部视图【PartialView】
2024-10-19 16:26:27
Partial View 顾名思义就是Html代码片段,应用于此HTML代码多次被页面加载时使用。(类似于WebForm程序中的用户控件)
注:PartialView和正常的View页面在访问时没有任何区别
一、PartialView的创建
在Views文件夹下,选中你要添加PartialView的文件右击=>添加=>点击View=>弹出添加View窗口(和正常添加View页面是一样的),在窗口中勾选【创建分部视图】下面就OK了。
二、加载分部视图
1、通过Ajax方式
Index页面代码
@section scripts{
<script type="text/javascript">
window.onload = function () {
document.getElementById("btnLoadPart").onclick = function () {
var xhr = new XMLHttpRequest();
xhr.open("get", "/Home/LoginPart", true);//访问控制器类Home中的LoginPart方法
xhr.setRequestHeader("If-Modified-Since", );//清除缓存
xhr.onreadystatechange = function () {
if (xhr.readyState == && xhr.status == )
{
var htmlNew = xhr.responseText;
document.getElementById("divCon").innerHTML = htmlNew;
}
};
xhr.send(null);
};
};
</script>
} <input type="button" value="请求分部视图" id="btnLoadPart" />
<div id="divCon"></div>
分部视图控制器类(Home)中的LoginPart方法代码
/// <summary>
/// 加载 分部视图的 Action 方法
/// </summary>
public ActionResult LoginPart()
{
return PartialView();//PartialView方法不会加载布局页面【_ViewStart.cshtml】,View()方法会加载布局页面【_ViewStart.cshtml】
}
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方法之间的传值
如图:
最新文章
- 【转】浅谈MVC与三层架构
- Class.forName()用法详解
- ACM : Travel-并查集-最小生成树 + 离线-解题报告
- android解析json包(接口)
- python数据类型和3个重要函数
- 最简单的基于FFmpeg的移动端例子:IOS 视频转码器
- hdu4976 贪心+dp
- 利用JConsole工具监控java程序内存和JVM
- Silverlight学习(四) domainservice动态多条件查询
- Windows下配置Mysql
- frame和bounds的区别
- DOS命令运行java文件,批量引用jar包
- 使用boost::multi_index高速构建排行榜
- 使用Linux 安装MySQL
- 玩转Spring MVC(二)----MVC框架
- spring源码 — 四、MVC
- Oracle 并发创建索引
- MySql联合查询
- Ubuntu 17.10 安装Caffe(cpu)并配置Matlab接口
- File类相关操作
热门文章
- os.popen(&#39;python hello_out.py&#39;)中Python程序执行时默认的当前路径为MS-DOS CMD的默认路径
- Hadoop升级
- 【ExtJS】自定义组件datetimefield(二)
- lua-遍历集合-ipairs和pairs的区别
- 如何优雅地使用httprunner进行接口测试
- [转]ASP.NET MVC中的两个Action之间值的传递--TempData
- scss-变量作用域
- html相对定位绝对定位
- Java NIO(四) Scatter/Gather
- ubuntu14.04安装rabbitmq