首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Html.BeginForm不能正常工作

Html.BeginForm不能正常工作
EN

Stack Overflow用户
提问于 2015-12-29 23:09:19
回答 2查看 1.2K关注 0票数 0

我正在尝试使用MVC的一些特性。实际上,我提出了这样的观点:

代码语言:javascript
复制
@using (Html.BeginForm("ResetPasswordToken", "Account", FormMethod.Post, new { rt = @Request.QueryString["rt"] })))
{
    @Html.AntiForgeryToken()
    @Html.ValidationSummary(true, "Reset Password non riuscito")
    <div class="container above-footer login-form">
        <div class="col-md-6" align="center" style=" margin-left:25%; margin-top:100px; margin-bottom:100px;">
            <div class="editor-label">
                @Html.LabelFor(m => m.ResetToken)
            </div>
            <div class="editor-field">
                @Html.TextBoxFor(m => m.ResetToken, new { @Value = @Request.QueryString["rt"] })
                @Html.ValidationMessageFor(m => m.ResetToken)
            </div>

            <div class="editor-label">
                @Html.LabelFor(m => m.NewPassword)
            </div>
            <div class="editor-field">
                @Html.TextBoxFor(m => m.NewPassword)
                @Html.ValidationMessageFor(m => m.NewPassword)
            </div>

            <div class="editor-label">
                @Html.LabelFor(m => m.ConfirmPassword)
            </div>
            <div class="editor-field">
                @Html.TextBoxFor(m => m.ConfirmPassword)
                @Html.ValidationMessageFor(m => m.ConfirmPassword)
            </div>

            <p>
                <input type="submit" value="Change Password" />
            </p>
        </div>
    </div>

该视图用于重置密码,当我单击“更改密码”时,我希望在AccountController中调用方法AccountController。

AccountController是如此结构化,但当我单击按钮时,它不会转到该方法:

代码语言:javascript
复制
[HttpPost]
    public ActionResult ResetPasswordToken()
    {
        return View();
    }


    [HttpPost]
    public ActionResult ResetPasswordToken(RecoverPasswordModel model)
    {
        if (ModelState.IsValid)
        {
            if (WebSecurity.ResetPassword(model.ResetToken, model.NewPassword))
            {
                return RedirectToAction("PasswordResetSuccess");
            }
            else
            {
                ModelState.AddModelError("", "The password reset token is invalid.");
            }
        }
        return View(model);
    }

有人能帮我吗?

非常感谢,祝您假期愉快。

罗伯托

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-30 01:50:22

您有两个具有相同名称和相同的操作。将第一个操作(没有参数)标记为httpget

票数 1
EN

Stack Overflow用户

发布于 2015-12-30 09:55:22

好的。它错过了AllowAnonymus。很好,谢谢你。现在有一个问题。在不使用@ Html.TextBoxFor (m => m.ResetToken,new { @Value = @Request.QueryString"rt“})的情况下将URL中的令牌的值传递给控制器的最佳方法是什么。我想把这个值隐藏给用户。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34520521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档