【发布时间】:2013-01-22 23:32:12
【问题描述】:
我正在尝试在 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 的人仍然可以导航到该网站。
【问题讨论】:
标签: jquery asp.net-mvc jquery-address