ASP.NET MVC重定向部分视图请求(如果不是来自视图)

ASP.NET MVC重定向部分视图请求(如果不是来自视图),asp.net,asp.net-mvc-3,redirect,partial-views,Asp.net,Asp.net Mvc 3,Redirect,Partial Views,我在控制器中有一些局部视图和相应的操作方法。在某些视图中,我使用Html.Action(“PartialView”)helper调用它们。这个很好用 但是,当我在浏览器的地址栏中键入部分视图操作的url时,controller会单独将部分视图发回给我(没有任何包装视图或布局)。这似乎很奇怪。我希望我的控制器将返回部分视图的操作请求重定向到索引操作,而不是Html.action()helpers 我该怎么做呢?在互联网上搜索后,我找到了答案: 因此,我需要的只是通过检查特定操作中的Controll

我在控制器中有一些局部视图和相应的操作方法。在某些视图中,我使用
Html.Action(“PartialView”)
helper调用它们。这个很好用

但是,当我在浏览器的地址栏中键入部分视图操作的url时,controller会单独将部分视图发回给我(没有任何包装视图或布局)。这似乎很奇怪。我希望我的控制器将返回部分视图的操作请求重定向到索引操作,而不是
Html.action()
helpers


我该怎么做呢?

在互联网上搜索后,我找到了答案:


因此,我需要的只是通过检查特定操作中的
ControllerContext.IsChildAction
来重定向请求。

没有真正可靠的方法来确定是什么UI发起了HTTP请求。你为什么要这么做?这解决了什么问题?我只是不希望用户在没有布局或包装视图的情况下看到奇怪的视图。你不能阻止用户手动修改他们的用户体验。基本上,这是一个虚构的问题,并不真正需要解决。应用程序按预期呈现用户体验。如果用户选择偏离这一点,并手动请求数据,则可以。只要授权得以维持,就不会发生什么坏事。@David因为你的评论,我认为这是不可能的。然而,经过一些搜索,我找到了我需要的东西