禁止从地址栏调用操作方法

时间:2013-05-22 16:26:03

标签: asp.net-mvc-4 controller actionmethod

我的控制器中有一个方法,我不想从浏览器的地址栏中调用...

有办法吗?也许某种注释,路由配置中的修改?我有哪些选择?

2 个答案:

答案 0 :(得分:14)

如果您仅在控制器或视图中使用此操作,则可以使用ChildActionOnly属性。

如果您想使用POST访问它,那么您可以使用[HttpPost]属性。

但是如果您希望使用GET(即使用AJAX调用等)并且不希望用户使用地址栏访问它,那么您可以按照此tutorial进行操作AJAX仅

或者,如果您只是想要一个根本不是Action的方法(即无法使用HTTP调用),那么您可以将其设为private或使用[NonAction]属性

答案 1 :(得分:7)

在方法上使用NonAction属性。