是否可以利用控制器的内部方法来减少重复?
在部分视图中,我有以下内容:
<%Html.RenderAction(MVC.User.GetComments(Model.UserGroupName)); %>
我可以在 View
中渲染 Controller
的 PartialViewResult
而不通过路由,以便我可以传递参数直接来自模型,以便我传递给控制器的参数永远不会发送给用户或被用户看到?
目前,我在顶部显示的方法会引发异常,因为没有公开的重载。我已将其标记为内部,以便用户无法访问它,只有渲染引擎才是我的意图。
in a partial view I have the following:
<%Html.RenderAction(MVC.User.GetComments(Model.UserGroupName)); %>
can I render a Controller
's PartialViewResult
in a View
without going through routing so I can pass arguments directly from the model so that the arguments I'm passing to the controller never get sent to the user or seen by the user?
Currently the method I'm showing at the top throws an exception because no overload is public. I've got it marked as internal so that a user can not access it, only the rendering engine was my intent.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您希望任何操作方法只能由 RenderAction() 而不是外部世界调用,请在该方法上添加 [ChildActionOnly] 属性。或者 - 如果您有此类方法的完整控制器 - 将属性放在控制器本身上。
Slap a [ChildActionOnly] attribute on any action method if you want that method to be callable only by RenderAction() rather than the outside world. Or - if you have a whole controller of such methods - slap the attribute on the controller itself.