Bac*_*ata 3 c# asp.net asp.net-mvc
出于好奇,这两个属性之间有什么区别?
NonAction和ChildActionOnly
这两个属性对我来说似乎都是一样的.阻止管道(动作调用者)调用动作方法.请看一下这个片段:
[NonAction]
private ActionResult StackOverflow1()
{
// Omitted for brevity.
return View();
}
[ChildActionOnly]
private ActionResult StackOverflow2()
{
// Omitted for brevity.
return View();
}
Run Code Online (Sandbox Code Playgroud)
当然这两种方法都不会被调用,因为它们是私有的 - 至少在默认的实现中 - 但我想知道差异只是出于好奇......
ChildActionOnly - 只能由另一个操作调用,而不能直接从外部调用(通过路由)调用.允许的操作包括Action/RenderAction扩展方法.
NonAction - 类似于标记一种方法"私有",以防止它无法从外部调用或子操作中访问.适合保护您不需要/想要作为直接视图创建的操作.值得一提的是,这只是公共方法所必需的(因为私人/受保护不被认为是"可行的").
也可以看看:
| 归档时间: |
|
| 查看次数: |
4690 次 |
| 最近记录: |