繁体   English   中英

ASP.NET MVC 4 + jQuery地址插件=呈现问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM