【问题标题】:How to reference other Areas?如何引用其他区域?
【发布时间】:2011-02-25 06:29:39
【问题描述】:

我的主站点中有一个名为“Account”的控制器,我想从 Asp.net MVC 2 区域中引用一个方法。

默认情况下,Areas 似乎只能访问该区域内的控制器,这是有道理的,但似乎没有从另一个区域引用控制器的选项。

谢谢!

【问题讨论】:

  • 引用是什么意思?你想链接到一个动作,还是从控制器重定向到一个动作?这里没有足够的信息。

标签: asp.net asp.net-mvc asp.net-mvc-2 asp.net-mvc-areas


【解决方案1】:

这是一个演练:http://msdn.microsoft.com/en-us/library/ee671793.aspx

您在 routeValues 参数对象中传递区域名称。

Url.Action("Index", "Home", new { area = "MyArea" })

Html.ActionLink需要用到的构造函数还有一个htmlAttributes参数,可以设置为null。

Html.ActionLink("Link Text", "Index", "Home", new { area = "MyArea" }, null)

使用空字符串作为默认区域。

【讨论】:

    【解决方案2】:

    看看this site 看看它是否对你有帮助。基本上,在您的操作链接中,您需要像声明 ID 或控制器一样声明要引用的区域。

    默认区域的控制器

    html.actionlink("Home", "Index", New with {.area = "", .controller = "Home"})
    

    另一个区域的控制器

    html.actionlink("Home", "Index", New with {.area = "someArea", .controller = "Home"})
    

    【讨论】:

    • 这些示例格式不正确,语法不正确。使用这些你会得到编译错误。
    猜你喜欢
    • 2012-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-17
    • 1970-01-01
    • 1970-01-01
    • 2011-08-07
    相关资源
    最近更新 更多