C#MVC4 Razor部分视图-切换视图时刷新整个页面?

C#MVC4 Razor部分视图-切换视图时刷新整个页面?,c#,razor,views,refresh,C#,Razor,Views,Refresh,我正在构建一个典型的管理门户-有两个共享的部分视图.cshtml文件用于顶部和左侧菜单。然后,主要内容是普通的查看文件 例如,我在“视图”中有“dashboard.cshtml”和“settings.cshtml”等等。在这些文件中,我调用了@Html.Partial(“\u Layout\u topmenu”)和@Html.Partial(“\u Layout.leftnav”) 一切都“工作”良好,只是当我从“仪表板”到“设置”再回到“仪表板”时,我看到整个屏幕都在刷新。我原以为只会刷新主要

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

例如,我在“视图”中有“dashboard.cshtml”和“settings.cshtml”等等。在这些文件中,我调用了@Html.Partial(“\u Layout\u topmenu”)和@Html.Partial(“\u Layout.leftnav”)

一切都“工作”良好,只是当我从“仪表板”到“设置”再回到“仪表板”时,我看到整个屏幕都在刷新。我原以为只会刷新主要内容部分,而顶部和左侧导航将保持不变,因为它们是局部视图。。我错过什么了吗

在返回ActionResult类型的“Dashboard”和“Settings”GET方法的控制器代码中,我只是返回view()

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


谢谢

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

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


编辑


如果不使用jquery/其他魔法,则不会。如果您请求一个页面,您将加载一个页面。这并不奇怪。

Aah我刚刚编辑了我的帖子,意识到我可能需要通过jQuery获取主要内容,而你刚刚回复了同样的内容。。好的,让我看看如何通过.load()获取部分视图数据!