MVC6を使用してプロジェクトを開始しましたが、LogOffメソッドにルーティングできないようです。コントローラでLogOffメソッドを呼び出すことができません
アカウントコントローラは次のようになります。
//
// POST: /Account/LogOff
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> LogOff()
{
await _signInManager.SignOutAsync();
_logger.LogInformation(4, "User logged out.");
return RedirectToAction(nameof(HomeController.Index), "Home");
}
呼び出すナビゲーションは次のようになります。
@if (User.IsSignedIn())
{
<div class="profile-picture">
<div class="stats-label text-color">
<span class="font-extra-bold font-uppercase">@User.GetUserName()</span>
<div class="dropdown">
<a class="dropdown-toggle" href="#" data-toggle="dropdown">
<small class="text-muted">Title <b class="caret"></b></small>
</a>
<ul class="dropdown-menu animated flipInX m-t-xs">
<li><a href="@Url.Action("LogOff", "Account")">Log off</a></li>
<li><a href="#">Link 2</a></li>
<li><a href="#">Link 3</a></li>
</ul>
</div>
</div>
</div>
}
私は、コントローラのメソッドの最初の行にしてブレークポイントを適用していますしかし、それは決して壊れず、ブラウザは空白になります。
私は間違っていますか?代わりに
<li><a href="@Url.Action("LogOff", "Account")">Log off</a></li>
の
あなたは、ルーティングテーブルにカスタムルートを追加しましたか? –
リンクはGETメソッドです。 '[HttpPost]'とマークし、 '[ValidateAntiForgeryToken]'を追加して実行されないようにしました。 –