无法发布登录表单数据 - .NET MVC

时间:2017-04-21 16:08:02

标签: .net asp.net-mvc

这是我的cshtml文件。我想我在这里或在控制器中犯了一些错误,但不确定它是什么!

@using (Html.BeginForm())
                {
                    @Html.ValidationSummary(true)

                    <div class="modal-body">

                        <div class="form-group">
                            <div>
                                @Html.LabelFor(model => model.UserName, htmlAttributes: new { @class = "control-label col-md-2" })
                            </div>
                            <div>
                                @Html.EditorFor(model => model.UserName, new { htmlAttributes = new { @class = "form-control" } })
                                @Html.ValidationMessageFor(model => model.UserName, "", new { @class = "text-danger" })
                            </div>
                        </div>
                        <div class="form-group">
                            <div>
                                @Html.LabelFor(model => model.Password, htmlAttributes: new { @class = "control-label col-md-2" })
                            </div>
                            <div>
                                @Html.EditorFor(model => model.Password, new { htmlAttributes = new { @class = "form-control" } })
                                @Html.ValidationMessageFor(model => model.Password, "", new { @class = "text-danger" })
                            </div>
                        </div>
                    </div>
                    <div class="modal-footer">
                        <div class="form-group">
                            <div class="col-md-offset-2 col-md-10">
                                <input type="submit" value="Login" class="btn btn-default" />
                            </div>
                        </div>
                }

这是控制器,目前我只是在收到发布的数据后尝试将其重定向到另一个页面。但它在发布/点击提交后再次调用Index()方法。

 public class LandController : Controller
{
    // GET: Land
    private userDBcontext db = new userDBcontext();
    public ActionResult Index()
    {
        return View();
    }

    [HttpPost]
    public ActionResult Login(User loginReq)
    {
        return this.RedirectToAction("Index", "Users");
    }
}

1 个答案:

答案 0 :(得分:1)

您没有指定表单操作,因此默认情况下会将其发布到相应的页面/操作(例如索引)。您是否可以尝试将Html.BeginForm()替换为Html.BeginForm("Login", "Land")并尝试一下?

有关使用情况的更多信息,请访问MSDN