我正在构建一个典型的管理门户-有两个共享的部分视图.cshtml文件,用于顶部和左侧菜单。然后,主要内容是常用的视图文件。
例如,我在“视图”中有一个"dashboard.cshtml“和"settings.cshtml”等等。在它们内部,我调用了@Html.Partial("_Layout_topmenu")和@Html.Partial("_Layout.leftnav")
一切“正常”,除了当我点击从“仪表板”到“设置”再回到“仪表板”时,我看到整个屏幕都在刷新。我希望只刷新主要内容部分,而顶部和左侧导航将保持不变,因为它们是局部视图。我是不是遗漏了什么?
在返回视图类型的“仪表板”和“设置”GET方法的控制器代码中,我只是返回ActionResult ();
那么,当从//site/controller/view1移动到//site/controller/view2 (并且不涉及jQuery/AJAX的魔力)时,是否可以保持顶部菜单和左侧导航窗格,并保持更改主要内容……?
谢谢!
发布于 2012-05-13 04:52:02
除非您使用框架(我不这么认为),或者您通过ajax手动将部分视图的html加载到各自的容器中,否则您只会发出常规的http请求。局部视图只在服务器上,而不在客户端,所以当你请求一个给定的页面时,整个页面都会被重新加载。
如果您想独立于其他区域加载内容区域,我建议您查看一下从控制器方法返回PartialView()
,并通过jQuery的.load()
方法调用该方法。
编辑
如果不使用jquery/其他魔法,就不会。如果您请求一个页面,您将加载一个页面。这不应该是令人惊讶的。
https://stackoverflow.com/questions/10569367
复制相似问题