这是我的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");
}
}
答案 0 :(得分:1)
您没有指定表单操作,因此默认情况下会将其发布到相应的页面/操作(例如索引)。您是否可以尝试将Html.BeginForm()
替换为Html.BeginForm("Login", "Land")
并尝试一下?
有关使用情况的更多信息,请访问MSDN。