是否可以在控制器上使用内部方法来减少重复?

时间:2010-04-09 16:28:43

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

在局部视图中我有以下内容:

<%Html.RenderAction(MVC.User.GetComments(Model.UserGroupName)); %>

我可以在Controller中呈现PartialViewResult的{​​{1}}而无需通过路由,因此我可以直接从模型传递参数,以便我传递给控制器​​的参数永远不会被发送给用户或被用户看到?

目前我在顶部显示的方法会引发异常,因为没有公共过载。我把它标记为内部,以便用户无法访问它,只有渲染引擎才是我的意图。

1 个答案:

答案 0 :(得分:2)

如果您希望该方法只能由RenderAction()而不是外部世界调用,请对任何操作方法执行[ChildActionOnly]属性。或者 - 如果你有这样的方法的整个控制器 - 在控制器本身上拍打属性。