从区域访问根控制器

时间:2016-10-19 10:45:35

标签: asp.net asp.net-mvc asp.net-mvc-5

我的项目AdminUser中有区域。

Admin我创建了一个注销按钮。我需要在点击退出按钮时转到root并AccountController并使用logOff操作。

我使用此功能但搜索的区域是AccountControllerlogOff行动。

<li><i class="icon-key"></i>@Html.ActionLink("خروج","LogOff","Account")</li>

我该如何解决这个问题?

修改

我在索引视图中使用退出代码:

@using (Html.BeginForm("LogOff", "Account", FormMethod.Post, new { id = "logoutForm", @class = "navbar-right" }))
                {
                @Html.AntiForgeryToken()
                <li><i class="fa fa-sign-out" aria-hidden="true"></i><a href="javascript:document.getElementById('logoutForm').submit()">خروج</a></li>

                }
public ActionResult LogOff()
        {
            AuthenticationManager.SignOut();
            return RedirectToAction("Index", "Home");
        }`

2 个答案:

答案 0 :(得分:1)

行动前使用[HttpPost]。对于Ex。此

[HttpPost]
public ActionResult LogOff()
{
    AuthenticationManager.SignOut();
    return RedirectToAction("Index", "Home");
}

并且在视图中看起来好像。但只需按下提交按钮即可。

@using (Html.BeginForm("LogOff", "Account", FormMethod.Post, new { id = "logoutForm", @class = "navbar-right" }))
                {
.... Your Code .....
<input type="submit" value="Submit">
}

如果你从我的英语中理解的话,这是真实的答案。

答案 1 :(得分:0)

对于该地区:

Url.Action("actionName", "controllerName", new { Area = "areaName" });

如果项目中有一些区域,那么就得到&#34; root&#34;控制器你可能需要这样做:

Url.Action("actionName", "controllerName", new { Area = "" });

例如:

<a href="@Url.Action("actionName", "controllerName", new { Area = "" });">link text</a>