是否可以在Html.Action中以某种方式显示routeName 像这样的东西
Html.Action("Languages", "UIHelper", new {routeName="Default"});
目前我的应用程序有很多区域,主要布局中使用了Html.Action
。当我将用户重定向到区域页面时,我的Html.Action
无法找到操作/控制器,因为mvc尝试在当前(重定向)区域中找到它
答案 0 :(得分:0)
没有Html.Action()
扩展方法可以使用路由名称。当然,您可以创建自己的扩展方法以满足您的需求,我建议您这样做是一个很好的练习,但在您的情况下,解决方案可能会更简单。
默认情况下,所有路由都使用当前区域进行匹配。您可以通过提供Area参数来覆盖区域,如下所示:
@Html.ActionLink("MyLink", "MyAction", new {Area = "MyArea" });
在您的情况下,您希望在根区域中使用控制器,该控制器仅表示为空白字符串。所以你需要做的就是:
@Html.Action("Languages", "UIHelper", new { Area = "" });