2016-10-19 12 views
0

私のプロジェクトにはエリアがありますAdminUserエリアからのルートコントローラへのアクセス

i Admin私はsignout buttomを作成します。私はサインアウトボタンをクリックしてルートと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"); 
     }` 
+0

多分あなたはhrefとurl.contentを混ぜて使うことができます – Hackerman

+0

どうすればいいですか? 。 。 。 。 '' Sign Out Kianoush

+0

何かトリックを行う必要がありません。その動作しない – Hackerman

答えて

1

アクションの前に。例:この。

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

と表示部分にはOKと思われます。このように送信ボタンを作成するだけです。

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

これは、私があなたの英語から理解しているのと同じ意味であれば真の答えです。

0

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

あなたは、あなたがそのようdomething行う必要があるかもしれません「ルート」コントローラを取得するには、プロジェクトでのいくつかの領域を持っている場合:

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

ので、例えば:

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

私にこのエラーを見せてください:>リソースが見つかりません。 説明:HTTP 404あなたが削除された可能性を探している(またはその依存関係の1つ)されているリソースは、その名前が変更された、または一時的に利用できません。次のURLを確認し、正しく入力されていることを確認してください。 要求されたURL:/アカウント/ログオフ – Kianoush

+0

あなたがあなたのルーティングが正しく設定されていますか? 404をスローするものと連携しているアクションとURLを比較してください。 –

+0

はい。私は私のプロジェクトでそれを使用しました – Kianoush

関連する問題