Asp.net mvc 从MVC区域访问MVC控制器
我有一个带有区域性选择器控件的页面。此控件在布局页上呈现为部分Asp.net mvc 从MVC区域访问MVC控制器,asp.net-mvc,asp.net-mvc-areas,asp.net-mvc-controller,Asp.net Mvc,Asp.net Mvc Areas,Asp.net Mvc Controller,我有一个带有区域性选择器控件的页面。此控件在布局页上呈现为部分 @Html.Partial("~/Views/Shared/CultureChooserUserControl.cshtml") 区域性选择器控件如下所示: @Html.ActionLink("English", "ChangeCulture", "Default", new { lang = "en", returnUrl = this.Request.RawUrl }, new { @class = "english
@Html.Partial("~/Views/Shared/CultureChooserUserControl.cshtml")
区域性选择器控件如下所示:
@Html.ActionLink("English", "ChangeCulture", "Default", new { lang = "en", returnUrl = this.Request.RawUrl }, new { @class = "englishFlagButton" })
@Html.ActionLink("Deutsch", "ChangeCulture", "Default", new { lang = "de", returnUrl = this.Request.RawUrl }, new { @class = "germanFlagButton" })
@Html.ActionLink("French", "ChangeCulture", "Default", new { lang = "fr", returnUrl = this.Request.RawUrl }, new { @class = "frenchFlagButton" })
@Html.ActionLink("Italian", "ChangeCulture", "Default", new { lang = "it", returnUrl = this.Request.RawUrl }, new { @class = "italianFlagButton" })
区域性更改方法位于页面的默认控制器中,当我要更改区域性时,该控制器提供以下内容:
http://localhost/myapp/Default/ChangeCulture......
现在我将我的站点与区域分开,问题是当我在某个区域尝试更改文化时,请求是错误的,并导致错误:
http://localhost/myapp/**AREA/Default**/ChangeCulture.....
我怎样才能解决这个问题。提前感谢您的支持
Frank。当您的布局使用所有区域且区域性更改操作在默认区域的控制器中时,然后在所有指向此操作的帮助程序中的RouteValue对象区域“”的布局中设置,例如:
@Html.ActionLink("English", "ChangeCulture", "Default", new { lang = "en", returnUrl = this.Request.RawUrl, @area = "" }, new { @class = "englishFlagButton" })
您可以尝试用RouteLink替换您的ActionLink,请看它是否完美!!谢谢!