我正在阅读一本关于ASP.NET MVC3的书,以学习使用这个框架。部分视图的概念被解释,尽管它是一个简单的概念,我有一个小问题。
此剃刀代码已添加到视图中:
@{ Html.RenderAction("Summary", "Cart"); }
这将调用CartController上的Summary()方法。问题是:作为用户,我可以通过HTTP请求(GET / POST,...)调用此方法,这是不可能的。
我知道有[HttpPost]
和[HttpGet]
等属性只允许某些类型的HTTP请求,但是还有一个属性可以阻止这些吗?另外,我在哪里可以找到可用属性列表?
由于
答案 0 :(得分:1)
如果您有局部视图,那么您必须是公共方法,但它本身不应该是可寻址的。要实现此目的,您可以使用[ChildActionOnly]
详情请见
http://msdn.microsoft.com/en-us/library/system.web.mvc.childactiononlyattribute.aspx
以及类似属性的列表:
http://msdn.microsoft.com/en-us/library/system.web.mvc.filterattribute.aspx