我有HomeController
行动About
。我想实现这种行为:
Case #1
用户打开页面/home/about
并完全呈现视图(return View();
)
Case #2
用户在主页上并点击了链接about
,我想使用history.pushState
更改网址并部分呈现(return PartialView();
)
我该如何实现这种行为?
答案 0 :(得分:6)
您可以使用Request.IsAjaxRequest来检测是否使用Ajax请求调用了控制器操作。
作为替代方案,我建议将您的视图拆分为较小的部分,以便您的About.aspx视图使用部分视图,例如通过做Html.RenderPartial(“AboutBox”)。这为您提供了重用的能力,而不必使用if-sentence混乱您的行为。
答案 1 :(得分:0)
还有一个。
Restrict ASP.NET MVC Action's Using The ActionMethodSelectorAttribute
在ActionMethodSelectorAttribute中选择操作方法控件。