Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Model view controller 在区域中渲染分部时,分部中的ActionLink_Model View Controller_Actionlink_Areas - Fatal编程技术网

Model view controller 在区域中渲染分部时,分部中的ActionLink

Model view controller 在区域中渲染分部时,分部中的ActionLink,model-view-controller,actionlink,areas,Model View Controller,Actionlink,Areas,我使用分部渲染区域性选择器控件。该控件存储在~/Views/Shared/control.cshtml下。控件中有三种不同语言的ActionLink @Html.ActionLink("English", "ChangeCulture", "Home", new { lang = "en", returnUrl = this.Request.RawUrl }, null) 当应用程序在浏览器中启动时,我可以在默认页面上使用此控件,但如果我从某个区域使用此控件,它将访问错误的控制器。是否可以告

我使用分部渲染区域性选择器控件。该控件存储在~/Views/Shared/control.cshtml下。控件中有三种不同语言的ActionLink

@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>

@ViewRes.SharedStrings.User:@User.Identity.Name
@ViewRes.SharedStrings.ChangePassword
@*@Html.Partial(“CultureCoseRuserControl”)*@
@Html.Partial(“~/Views/Shared/culturechoserusercontrol.cshtml”)

我知道第三个参数指向控制器,问题是该区域也有一个HomeController。我可以告诉ActionLink使用哪个HomeController吗?

重命名其中一个HomeController

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

@Html.ActionLink("English", "ChangeCulture", "Home",  
   new {Area = string.Empty, lang = "en", returnUrl = this.Request.RawUrl }, null)
我在试图从某个区域的控制器显示菜单时遇到了类似的问题

我的菜单是菜单控制器的局部视图

在my_Layout.cshtml中,我现在呈现的菜单如下

@Html.Action("Index", "Menu",new{Area = string.Empty})
我的菜单控制器做这个

    // GET: /Menu/
    public ActionResult Index()
    {
        var vm = new MenuViewModel();
        vm.IsLoggedIn = CurrentUser != null;
        ...
        return PartialView(vm);
    }

actionlink中的第三个参数是控制器参数,应该足够了。可以给我看一下浏览器显示的渲染链接吗?