我使用模式對話框中的部分頁面來處理網站上其他地方的各種CRUD操作,並且它工作正常,我已經完成了與登錄(如下所示)相同的所有操作,但操作結果中的HttpPost
控制器沒有被擊中,我不知道爲什麼。控制器中的HttpPost ActionResult
而是調用HttpGet
。
我錯過了什麼?
登錄部分
@model Models.User
<script language="Javascript" type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script language="Javascript" type="text/javascript" src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<script type="text/javascript">
$(function() {
$('#btn-login').click(function() {
$('#modal-container').modal('hide');
});
$('#btn-close').click(function() {
$('#modal-container').modal('hide');
});
});
</script>
<div class="login-container">
@using (Html.BeginForm())
{
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="login-table">
<div>
@Html.LabelFor(m => m.Username)
@Html.TextBoxFor(m => m.Username)
@Html.ValidationMessageFor(m => m.Username, "", new { @class = "text-danger" })
</div>
<div>
@Html.LabelFor(m => m.Password)
@Html.PasswordFor(m => m.Password)
@Html.ValidationMessageFor(m => m.Password, "", new { @class = "text-danger" })
</div>
</div>
<div>
<button type="submit" id="btn-login" class="btn btn-sm">Login</button>
<button type="button" class="btn btn-default modal-close-btn" data-dissmiss="modal">Cancel</button>
</div>
}
</div>
賬戶控制器登錄操作方法
[AllowAnonymous]
[HttpGet]
public ActionResult Login()
{
return PartialView("Login");
}
[HttpPost]
public ActionResult Login(User model)
{
if(ModelState.IsValid)
{
// do stuff
}
return RedirectToAction("Index", "Announcements");
}
'[使用AllowAnonymous]'上POST方法標記? –
添加登錄([FromBody]用戶模式) –
@StephenMuecke謝謝!奇怪的是不需要另一個登錄應用程序,但它排序它,謝謝! – PurpleSmurph