Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使视图完全或部分渲染?_C#_Asp.net Mvc_Asp.net Mvc 3_Razor_Browser History - Fatal编程技术网

C# 如何使视图完全或部分渲染?

C# 如何使视图完全或部分渲染?,c#,asp.net-mvc,asp.net-mvc-3,razor,browser-history,C#,Asp.net Mvc,Asp.net Mvc 3,Razor,Browser History,我有一个家庭控制器,带有一个动作关于。我想实现这种行为: Case#1用户打开页面/home/about,视图完全呈现(returnview();) Case#2用户在主页上并单击关于的链接,我想使用history.pushState更改url并部分呈现(return PartialView();) 如何实现此行为?您可以使用Request.IsAjaxRequest检测控制器操作是否使用Ajax请求调用 作为一种替代方法,我建议将视图拆分为更小的部分,例如通过执行Html.RenderPart

我有一个
家庭控制器
,带有一个动作
关于
。我想实现这种行为:

Case#1
用户打开页面
/home/about
,视图完全呈现(
returnview();

Case#2
用户在主页上并单击关于的链接,我想使用
history.pushState更改url并部分呈现(
return PartialView();


如何实现此行为?

您可以使用Request.IsAjaxRequest检测控制器操作是否使用Ajax请求调用

作为一种替代方法,我建议将视图拆分为更小的部分,例如通过执行Html.RenderPartial(“AboutBox”)来使用About.aspx视图的部分视图。这给了您重用的能力,而不必用if语句来混乱您的操作。

又是一个例子

在ActionMethodSelectorAttribute中选择ActionMethod控件