C# ASP.NET MVC Razor-导航而不刷新母版页

C# ASP.NET MVC Razor-导航而不刷新母版页,c#,asp.net-mvc,razor,C#,Asp.net Mvc,Razor,在我的MVC应用程序(使用Razor)中,我希望避免每次单击链接时都刷新母版页 我的母版页具有以下结构: <html> .... <div id="main"> @RenderBody() </div> ... </html> .... @RenderBody() ... 链接按钮可以位于母版页和内容页中。我的页面必须如何结构化 每次使用标准调用检索视图时,都会刷新主视图 如果要避免这种情况,应该使用partialView创建所有视图,并进行

在我的MVC应用程序(使用Razor)中,我希望避免每次单击链接时都刷新母版页

我的母版页具有以下结构:

<html>
....
<div id="main">
@RenderBody()
</div>
...
</html>

....
@RenderBody()
...

链接按钮可以位于母版页和内容页中。我的页面必须如何结构化

每次使用标准调用检索视图时,都会刷新主视图

如果要避免这种情况,应该使用partialView创建所有视图,并进行AJAX调用。因此,当您单击一个链接时,将执行一个ajax调用,检索部分视图,并用部分视图的内容填充DOM元素(通常是div)


手工操作是可能的,但你将不得不面对很多问题。如果你真的想做一个SPA(单页应用程序),开始寻找AngularJs、Durandal、主干或任何Javascript库来帮助你!(即,看一看)。

最后,我们决定使用一种过时的解决方案,但在我的特殊情况下(屏幕大小固定,无移动设备,仅支持ff),它工作得非常好。我使用iframe html标记:创建一个自定义的起始网页,其中包含3个不同的iframe,它们调用自己的函数控制器。
我不推荐它,但可能对某些人有用,以防像我这样的紧急情况。

你应该查看部分视图:可能我没有很好地使用它们,但它也会继续使用PartialView刷新母版谢谢你的回答,但我不知道如何在我的母版页中放置PartialView。是否必须替换@RenderBody()?否。您可以保留母版页的原样。您需要一个初始的完整视图(即/主页/索引)。这个视图将呈现一个DOM元素(即a),使用AJAX调用,您将用局部视图的内容“填充”这个div。这基本上是一个水疗应用程序。有关手动操作的示例(不推荐),请查看我的博客(对不起,是西班牙语的):。但我建议你使用一些像AngularJs这样的库!我想使用AngularJs,我喜欢写js,但现在已经太迟了,因为项目已经很高级了。您的解决方案肯定是最干净的,但并不简单,谢谢您的帮助。我决定采用其他解决方案,我将在回答中解释