在 Asp.Net MVC 中,如果我用属性 NonAction
装饰一个操作方法则不允许访问该站点的用户调用它。
当我制作它时也会发生同样的情况private
那么这两者有什么区别,有没有什么特殊用途呢NonAction
属性被做了?
例如有什么区别
[NonAction]
public ActionResult SomeAction(){}
和
private ActionResult SomeAction(){}
在 asp.net MVC 的上下文中,我当然知道一个是
public
另一个是 private
最佳答案
这是唯一的区别。当您想要一个方法具有可以使其成为操作的签名但您不想成为操作时,使用该属性。
一个使用它的示例是操作方法调用以生成 ActionResult
的方法。对他们来说:
[NonAction]
public JsonResult JsonInfo(string id, string value) {
return Json(new { id = id, value = value });
}
public JsonResult GetBusInfo() {
return JsonInfo("4", "Bus");
}
public JsonResult GetCarInfo() {
return JsonInfo("8", "Car");
}
将其设为公开而不是私有(private)的原因是其他 Controller 中的操作也可以使用它。
关于asp.net-mvc - Asp.Net MVC 中私有(private)方法和用 NonAction 修饰的 Action 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14787029/