[英]ASP.NET MVC 4 + jQuery address plugin = rendering issue
我正在尝试在MVC4中设置一个新网站,以避免在任何情况下刷新整个页面。 目的是在主布局上放置一个媒体播放器,该媒体播放器在用户导航到网站期间会保持完整。
我决定使用jquery地址插件来使用深层链接。 如果操作是通过Ajax调用的,我为控制器设置了一个规则以返回部分视图而不是完整视图。 我还设置了地址插件来阻止请求,改为执行ajax请求,并将结果提供给div。
服务器端
return Request.IsAjaxRequest() ? (ActionResult) PartialView() : View();
客户端
$.address.state('/').init(function (event) {
$('a').address();
});
$.address.change(function (event) {
$.ajax({
cache: false,
url: event.value,
success: ajaxSuccess
});
});
function ajaxSuccess(data, status) {
$("#mainContent").html(data);
}
问题:当视图用作部分视图时,无法在视图内部呈现任何@section。
PS:我想将该插件用作不引人注目的插件,因此,即使媒体播放器可以刷新,任何没有javascript的人仍然可以导航到该网站。
您应该重新设计页面,以使可交换的内容处于单独的操作中,该操作始终是部分视图。 这样,更改的内容就不在主要内容之内。 主要内容可以具有部分,子内容是随任何请求发生而被替换的内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.