停止刷新mvc布局中的_navigation部分视图或仅加载_navigation 1次

时间:2019-03-19 09:35:34

标签: c# jquery ajax asp.net-mvc razor

我有一个带有导航(滑动导航)的标准MVC布局。

页眉和页脚是局部视图,并在视图中引用。每次我单击导航链接时,总页面都会刷新,并且缺少活动的导航栏位置(位置)。我该如何最好地解决这个问题?欢迎任何建议。 我的_layout.cshtml是..

    <!--Wrapper-->     
        <div id="wrapper">

        <!--Navigation--> 

@Html.Partial("_Navigation")    

<!--Page wraper-->    
            <div id="page-wrapper" class="gray-bg">

                @Html.Partial("_TopNavbar")

                <!-- Main view-->    
                @RenderBody()    

                <!-- Footer -->
                @Html.Partial("_Footer")            
</div>
            <!-- End page wrapper-->

        </div>

and i tried the load method like follows..
     $(document).ready(function () {
        $("a.stop_refresh").click(function (e) 
    {
     e.preventDefault(); var url = $(this).attr("href"); $('#page-wrapper').load(url); 
        });

1 个答案:

答案 0 :(得分:0)

您可以将nav链接作为ajax调用。作为响应服务器,它将发送给您生成的HTML-然后,您将用它(用jquery / javascript)替换您尝试重新加载的页面的旧HTML部分。 为了获得更好的效果,请在要刷新/重新加载的页面部分中添加某种加载程序(它应从click上的第一个事件开始,并在收到来自ajax调用的响应时结束)。
但这对于大多数页面来说是太多的工作,并且由于某些元素可以更改,因此您在上面花费的代码/时间量在大多数情况下都不是可行的选择。