没有HTTP请求某些控制器方法

时间:2012-02-26 21:17:13

标签: asp.net-mvc asp.net-mvc-3

我正在阅读一本关于ASP.NET MVC3的书,以学习使用这个框架。部分视图的概念被解释,尽管它是一个简单的概念,我有一个小问题。

此剃刀代码已添加到视图中:

@{ Html.RenderAction("Summary", "Cart"); }

这将调用CartController上的Summary()方法。问题是:作为用户,我可以通过HTTP请求(GET / POST,...)调用此方法,这是不可能的。

我知道有[HttpPost][HttpGet]等属性只允许某些类型的HTTP请求,但是还有一个属性可以阻止这些吗?另外,我在哪里可以找到可用属性列表?

由于

1 个答案:

答案 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