設定:
ヘルパーを使用して、コントローラー内のエリア内にHtml.ActionLink
アクションへのタグを作成しています。Reset
PasswordReset
Admin
Html.ActionLink 呼び出し (編集済みですが、まだ喜びはありません):
Html.ActionLink への呼び出しは foreach ループにあります (html は簡略化されています):
foreach(var item in Model.Entities)
{
<p>
@Html.ActionLink("Reset Password",
"Reset",
"PasswordReset",
new {area="Admin",
userName=item.UserName,
email=item.Email,
roles=item.Roles},
null)
</p>
}
私の行動:
[HttpGet]
public virtual ActionResult Reset(string userName, string email, string roles)
{
if (string.IsNullOrEmpty(userName)) throw new ApplicationException("Invalid Username!");
var ue = new UsernameEmailDTO
{
UserName = userName,
Email = email,
Roles = roles
};
return View(ue);
}
ルート:
context.MapRoute(
"Admin_PasswordReset",
"Admin/Password/Reset/{userName}",
new { controller = "PasswordReset", action="Reset", email = UrlParameter.Optional, roles = UrlParameter.Optional }
);
問題:
ルートを使用してアクションを直接呼び出すことができます。
ただし、私のアクション リンクは、現在のページを指すリンクを生成するだけです。
したがって、Html.ActionLink コードにエラーがあるはずです。
しかし、何?!
このさまざまな痛みの障壁を超えていると思っていたので、非常にイライラしました。