我使用partial来呈现区域性选择器控件。该控件存储在~/Views/Shared/Control.cshtml下。控件中有三个操作链接,分别对应三种不同的语言。
@Html.ActionLink("English", "ChangeCulture", "Home", new { lang = "en", returnUrl = this.Request.RawUrl }, null)当应用程序在浏览器中启动时,我可以在默认页面上使用该控件,但如果我从某个区域使用该控件,它将访问错误的控制器。有没有可能告诉控件中的actionlink使用“默认”HomeController?
提前感谢您的帮助,如果需要更多细节,请现在就告诉我。
最好的问候,弗兰克。
编辑:
这是布局页面中呈现区域性选择器控件的部分:
<div id="login_details">
<div class="username">@ViewRes.SharedStrings.User: @User.Identity.Name</div>
@ViewRes.SharedStrings.ChangePassword
@*@Html.Partial("CultureChooserUserControl")*@
@Html.Partial("~/Views/Shared/CultureChooserUserControl.cshtml")
</div>我知道第三个参数指向控制器,问题是该区域中也有一个HomeController。我可以告诉ActionLink使用哪个HomeController吗?
发布于 2013-07-17 20:10:31
重命名其中一个HomeControllers
发布于 2013-12-04 18:05:56
是否需要在路由参数中指定区域?
@Html.ActionLink("English", "ChangeCulture", "Home",
new {Area = string.Empty, lang = "en", returnUrl = this.Request.RawUrl }, null)我在一个区域的控制器上显示菜单时也遇到了类似的问题。
我的菜单是MenuController的局部视图。
在我的_Layout.cshtml中,我现在像这样呈现菜单
@Html.Action("Index", "Menu",new{Area = string.Empty})我的MenuController就是这么做的。
// GET: /Menu/
public ActionResult Index()
{
var vm = new MenuViewModel();
vm.IsLoggedIn = CurrentUser != null;
...
return PartialView(vm);
}https://stackoverflow.com/questions/17692081
复制相似问题