Par*_*rma 10 asp.net-mvc private
在Asp.Net MVC中,如果我使用属性修饰一个动作方法,NonAction
那么访问该站点的用户将不允许它被调用.我做的时候会发生同样的事情private
那么两者之间的区别是NonAction
什么?是否有一个特殊的目的是为了制造哪个属性?
例如,它们之间的区别是什么
[NonAction]
public ActionResult SomeAction(){}
Run Code Online (Sandbox Code Playgroud)
和
private ActionResult SomeAction(){}
Run Code Online (Sandbox Code Playgroud)
在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");
}
Run Code Online (Sandbox Code Playgroud)
将其公开而不是私有的原因是其他控制器中的操作也可以使用它.