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

amp*_*amp 9 controller actionmethod asp.net-mvc-4

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

有没有办法做到这一点?也许某种注释,路由配置中的修改?我有哪些选择?

U.P*_*U.P 15

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

如果要使用POST访问它,则可以使用[HttpPost]属性.

但是如果您希望使用它GET(即使用AJAX调用等)并且不希望用户使用地址栏访问它,那么您可以按照本教程仅使您的操作成为AJAX.

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


Her*_*Kan 7

NonAction在方法上使用属性.