0

設定:

ヘルパーを使用して、コントローラー内のエリア内にHtml.ActionLinkアクションへのタグを作成しています。ResetPasswordResetAdmin

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 コードにエラーがあるはずです。

しかし、何?!

このさまざまな痛みの障壁を超えていると思っていたので、非常にイライラしました。

4

1 に答える 1