1

我正在构建一个典型的管理门户 - 顶部和左侧菜单有两个共享的部分视图 .cshtml 文件。然后,主要内容是通常的视图文件。

例如,我在“views”中有一个“dashboard.cshtml”和“settings.cshtml”等等。在这些内部,我调用了 @Html.Partial("_Layout_topmenu") 和 @Html.Partial("_Layout.leftnav")

一切都“工作”正常,除了当我从“仪表板”到“设置”并返回“仪表板”时,我看到整个屏幕刷新。我希望只有主要内容部分会刷新,而顶部和左侧导航会保持不变,因为它们是部分视图。我错过了什么吗?

在返回 ActionResult 类型的“仪表板”和“设置”GET 方法的控制器代码中,我只是返回 view();

那么是否可以在从 //site/controller/view1 移动到 //site/controller/view2 时保持顶部菜单和左侧导航窗格并不断更改主要内容(并且不涉及 jQuery/AJAX 魔法).. . ?

谢谢!

4

1 回答 1

3

除非您使用框架(我认为您不是),或者您通过 ajax 手动将部分视图的 html 加载到它们各自的容器中,否则您只是在发出常规的 http 请求。部分视图仅在服务器上,而不是客户端,因此当您对给定页面发出请求时,整个内容都会重新加载。

如果您想独立于其他区域加载内容区域,我建议您考虑PartialView()从您的控制器方法返回,并通过 jQuery 的方法调用该.load()方法。


编辑

不使用 jquery/其他魔法,不。如果你请求一个页面,你将加载一个页面。这应该不足为奇。

于 2012-05-13T04:52:02.213 回答