gpt4 book ai didi

c# - ASP.NET MVC : Access controller instance from view

转载 作者:IT王子 更新时间:2023-10-29 03:54:26 24 4
gpt4 key购买 nike

如何从 View 访问 Controller 实例?例如。我有一个 HomeController,然后返回我的 Index View 。在该 View 中,我想访问创建该 View 的 HomeController 实例。我该怎么做?

最佳答案

ViewContext.Controller,您需要对其进行转换。

<% var homeController = ViewContext.Controller as HomeController; %>

这在帖子 Asp.Net MVC: How do I get virtual url for the current controller/view? 中覆盖了一些额外的皱纹.

编辑:这是为了向 Mark Seemann 的建议添加一些内容,即尽可能将功能保留在 View 之外。如果您使用 Controller 来帮助确定呈现页面的标记,您可能需要改用 Html.RenderAction(actionName, controllerName) 方法。此调用将触发操作,就好像它是一个单独的请求一样,并将其 View 作为主页的一部分包含在内。

这种方法将有助于实现关注点分离,因为重定向到的操作方法可以完成与表示规则相关的所有繁重工作。它需要返回一个分部 View 才能在您的父 View 中正常工作。

关于c# - ASP.NET MVC : Access controller instance from view,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1417168/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com