我正在构建一个典型的管理门户 - 顶部和左侧菜单有两个共享的部分视图.cshtml文件。然后,主要内容是通常的视图文件。
例如,我在“views”中有“dashboard.cshtml”和“settings.cshtml”等等。在这些内容中,我调用了@ Html.Partial(“_ Layout_topmenu”)和@ Html.Partial(“_ Layout.leftnav”)
一切都“正常”,除了当我从“仪表板”到“设置”点击并返回“仪表板”时,我看到整个屏幕都刷新了。我期待只有主要内容部分刷新,而顶部和左侧导航将保持不变,因为它们是部分视图..我错过了什么?
在返回ActionResult类型的“Dashboard”和“Settings”GET方法的控制器代码中,我只是返回view();
因此可以保持顶部菜单并离开导航窗格并在从// site / controller / view1移动到// site / controller / view2时不断更改主要内容(并且不涉及jQuery / AJAX魔法) )......?
谢谢!
答案 0 :(得分:3)
除非您正在使用我认为不是你的框架,或者您是通过ajax手动将部分视图的html加载到各自的容器中,否则您只需要进行常规的http请求。部分视图仅在服务器上,而不是客户端,因此当您对给定页面发出请求时,将重新加载整个内容。
如果你想独立于其他区域加载内容区域,我建议你从控制器方法返回PartialView()
,并通过jQuery的.load()
方法调用该方法。
修改
不使用jquery /其他魔法,没有。如果你要求页面,你将加载一个页面。这不应该是一个惊喜。