0
是否有方法将视图加载为部分(一个布局= null)或标准(其中一个在_ViewStart中具有默认布局) ?ASP.NET部分视图是否已经加载了布局,否则标准视图使用默认布局
我想完成只有当页面(部分视图)的一部分加载到当前页面,如果用户已经在某个页面有布局呈现,或加载整个页面(视图+布局),如果用户将进入页面的页面不在加载了布局的页面上(例如在地址栏中输入特定的URL时)。
是否有方法将视图加载为部分(一个布局= null)或标准(其中一个在_ViewStart中具有默认布局) ?ASP.NET部分视图是否已经加载了布局,否则标准视图使用默认布局
我想完成只有当页面(部分视图)的一部分加载到当前页面,如果用户已经在某个页面有布局呈现,或加载整个页面(视图+布局),如果用户将进入页面的页面不在加载了布局的页面上(例如在地址栏中输入特定的URL时)。
是的,但你也需要使用一些JavaScript。 Razor是一个服务器端的渲染引擎,所以一旦它离开服务器,如果你想动态加载页面的一部分,你需要客户端脚本接管并响应你的用户的点击。
在你看来,你可以有这样的事情:
<button>Load Partial</button>
<div id="partial-content">
</div>
<script src="~/Scripts/jquery-1.10.2.js"></script>
<script>
$(document).ready(function() {
$("button").click(function() {
$.get("/ControllerName/MyPartial").success(function(data) {
$("#partial-content").html(data);
});
});
});
</script>
在你的控制器:
public ActionResult MyPartial()
{
return PartialView();
}
的JavaScript很简单:
等待文件准备就绪。
绑定到按钮的单击事件。
单击该按钮时,向该URL发出HTTP GET请求。
当响应返回时,设置div的html。