asp.net-mvc - 在 ASP.NET MVC 中调用 @Html.Action(...) 时如何指定命名空间

标签 asp.net-mvc actionmethod

当我尝试在 ASP.NET MVC 3 中为与当前 Controller 不同的命名空间中的 Controller 使用 Html.Action 时,出现错误:

代码:

@Html.Action("Foo", "Application", new { id = "FG2" })

错误:

The controller for path '/rrmvc/store/checkout' was not found or does not implement IController.

仅当 Controller ApplicationController 与当前 Controller 位于不同的命名空间时才会发生此错误,例如 StoreControllers.CheckoutController (事实上它们也位于完全不同的区域) )。

调用 Html.Action 时是否无法指定 namespace (完全限定 namespace 等明显方法似乎都不起作用)?

没有可用的 lambda 方法,我有 no luck using Html.RenderAction在 MVC3 RTM 中。

<小时/>

编辑:我认为这可能与该地区有关 - 或者这也可能是一个完全的转移注意力的事情。我在不同的命名空间中有另一个 Controller 可以正常工作 - 所以我认为问题更复杂。如果我弄清楚了,我会回复一个答案 - 或者直接删除这个问题,以免造成困惑!

最佳答案

如果 Controller 位于不同区域,您可以尝试指定此区域名称:

@Html.Action("Foo", "Application", new { id = "FG2", area = "foo" })

如果您已经在该区域内并且想要渲染位于根目录中的 Controller 上的操作,您可以尝试以下操作:

@Html.Action("Foo", "Application", new { id = "FG2", area = "" })

关于asp.net-mvc - 在 ASP.NET MVC 中调用 @Html.Action(...) 时如何指定命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5269744/

相关文章:

asp.net-mvc - ASP.NET MVC HandleError 不起作用(customErrors 设置为 "On")

c# - Ninject 重新绑定(bind)数据上下文 MVC

javascript - 通过 jQuery DataTable 中的复选框检索所有记录

asp.net-mvc - 在 MVC 4.0 中实现动态 Action 的路由

c# - Controller 的非异步方法是否会阻止其他用户在使用或锁定时进入?

javascript - ASP.NET MVC 提交表单调用另一个提交表单的 javascript 函数

asp.net - 使用 Html.Action 调用 [ChildActionOnly] 操作方法时的安全问题

c# - 如何在 Sitecore 中的 Sitecore.Context.Item.Database 项上设置数据库详细信息

c# - ASP.NET MVC - 带有来自 URL 的附加参数的 POST 操作方法

c# - 使用 Linq 查询连接两个字段