是否可以利用控制器的内部方法来减少重复?

发布于 2024-08-28 06:44:29 字数 336 浏览 2 评论 0原文

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

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

我可以在 View 中渲染 ControllerPartialViewResult 而不通过路由,以便我可以传递参数直接来自模型,以便我传递给控制器​​的参数永远不会发送给用户或被用户看到?

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

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

无风消散 2024-09-04 06:44:30

如果您希望任何操作方法只能由 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文