首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当在区域中渲染Partial时,ActionLink为Partial

当在区域中渲染Partial时,ActionLink为Partial
EN

Stack Overflow用户
提问于 2013-07-17 13:51:04
回答 2查看 106关注 0票数 0

我使用partial来呈现区域性选择器控件。该控件存储在~/Views/Shared/Control.cshtml下。控件中有三个操作链接,分别对应三种不同的语言。

代码语言:javascript
运行
复制
@Html.ActionLink("English", "ChangeCulture", "Home",  new { lang = "en", returnUrl = this.Request.RawUrl }, null)

当应用程序在浏览器中启动时,我可以在默认页面上使用该控件,但如果我从某个区域使用该控件,它将访问错误的控制器。有没有可能告诉控件中的actionlink使用“默认”HomeController?

提前感谢您的帮助,如果需要更多细节,请现在就告诉我。

最好的问候,弗兰克。

编辑:

这是布局页面中呈现区域性选择器控件的部分:

代码语言:javascript
运行
复制
    <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吗?

EN

回答 2

Stack Overflow用户

发布于 2013-07-17 20:10:31

重命名其中一个HomeControllers

票数 0
EN

Stack Overflow用户

发布于 2013-12-04 18:05:56

是否需要在路由参数中指定区域?

代码语言:javascript
运行
复制
@Html.ActionLink("English", "ChangeCulture", "Home",  
   new {Area = string.Empty, lang = "en", returnUrl = this.Request.RawUrl }, null)

我在一个区域的控制器上显示菜单时也遇到了类似的问题。

我的菜单是MenuController的局部视图。

在我的_Layout.cshtml中,我现在像这样呈现菜单

代码语言:javascript
运行
复制
@Html.Action("Index", "Menu",new{Area = string.Empty})

我的MenuController就是这么做的。

代码语言:javascript
运行
复制
    // GET: /Menu/
    public ActionResult Index()
    {
        var vm = new MenuViewModel();
        vm.IsLoggedIn = CurrentUser != null;
        ...
        return PartialView(vm);
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17692081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档