将按钮帖子提交给错误的操作,并将操作路径用作ReturnUrl

时间:2015-12-16 18:57:52

标签: html asp.net-mvc

我在/ Home / Index。相关按钮的HTML如下所示:

<form action="/Account/ConfirmMail" class="form-inline" method="post" style="display: inline-block" title="Codul de confirmare primit pe e-mail">
    <input class="form-control form-input" data-val="true" data-val-required="N-ai băgat nimic.. De ce apeși butoane așa aiurea?" id="ConfirmationCode" name="ConfirmationCode" placeholder="Cod" style="width: 70px" type="text" value="" />
    <input type="submit" class="btn btn-info" title="Trimite" value="Poftim" />
</form>

当我点击submit按钮时,该链接转到http://localhost:62500/Account/Login?ReturnUrl=%2FAccount%2FConfirmMail

上的404页面

这当然不是我预期的或预期的结果。

其他信息:

生成该代码的Razor代码:

@model LigaDePredictii.Models.ConfirmationCodeViewModel
@using (Html.BeginForm("ConfirmMail", "Account", FormMethod.Post, new { @class = "form-inline", title="Codul de confirmare primit pe e-mail", style="display: inline-block" }))
{
    @Html.TextBoxFor(x => x.ConfirmationCode, new { @class = "form-control form-input", placeholder = "Cod", style = "width: 70px" })
    <input type="submit" class="btn btn-info" title="Trimite" value="Poftim" />
}

以下内容呈现:

<div class="alert alert-danger alert-dismissible" role="alert">
    <span class="glyphicon glyphicon-log-in" aria-hidden="true"></span>
    <strong>Nu-i bun codul!</strong> Asigură-te că e cel primit în mail.
    @Html.Partial("ConfirmCodeAndSubmit")
    <button type="button" class="close" data-dismiss="alert" aria-label="Close">
    <span aria-hidden="true">&times;</span></button>    
</div>

2 个答案:

答案 0 :(得分:1)

它正在重定向,因为您尝试访问需要身份验证/授权且未经过身份验证的资源。如果您使用fiddler,您会看到它发布到正确的操作,但服务器正在向登录页面发送重定向。

您可以将其添加到您的web.config文件中:

 <location path="Account">
    <system.web>
      <authorization>
        <allow users="*" />
      </authorization>
    </system.web>
  </location>

允许未经授权的用户访问您帐户控制器中的任何内容

答案 1 :(得分:1)

我认为您需要以下内容,假设您已正确设置操作:

<form action="@Url.Action("ConfirmEmail", "Account")" class="form-inline" method="post" style="display: inline-block" title="Codul de confirmare primit pe e-mail">
    <input class="form-control form-input" data-val="true" data-val-required="N-ai băgat nimic.. De ce apeși butoane așa aiurea?" id="ConfirmationCode" name="ConfirmationCode" placeholder="Cod" style="width: 70px" type="text" value="" />
    <input type="submit" class="btn btn-info" title="Trimite" value="Poftim" />
</form>
相关问题