C# 控制器中的HttpPost操作结果
我正在使用模态对话中的部分页面来处理网站上其他地方的各种CRUD操作,它工作得很好,我在登录时也做了同样的事情(如下所示),但是控制器中的C# 控制器中的HttpPost操作结果,c#,jquery,asp.net-mvc,C#,Jquery,Asp.net Mvc,我正在使用模态对话中的部分页面来处理网站上其他地方的各种CRUD操作,它工作得很好,我在登录时也做了同样的事情(如下所示),但是控制器中的HttpPostactionresult没有被击中,我不确定为什么 而是调用HttpGet 我错过了什么 部分登录 @model Models.User <script language="Javascript" type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js">
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>
在表单属性中尝试此操作
@Html.BeginForm("Login", "Home", , new { modal= Model }, FormMethod.Post)
//Login- action Name that has to be hit
//Home - Controller name
GET方法标记为
[AllowAnonymous]
,表明控制器标记为[Authorize]
,这意味着POST方法也必须标记为[AllowAnonymous]
(在执行此方法中的代码之前,用户已被授权)
[AllowAnonymous]
在POST方法上?添加登录([FromBody]用户模型)@StephenMuecke谢谢!奇怪的是,在另一个登录应用程序上不需要这两个选项,但这就解决了问题,谢谢!默认操作是发布,因此这是错误的,没有帮助。
@Html.BeginForm("Login", "Home", , new { modal= Model }, FormMethod.Post)
//Login- action Name that has to be hit
//Home - Controller name
[HttpPost]
[AllowAnonymous]
public ActionResult Login(User model)
{
if(ModelState.IsValid)
{
// do stuff
}
return RedirectToAction("Index", "Announcements");
}