我已经用更多信息更新了这个问题。
我有这样的看法(简化版):
@using (Html.BeginForm())
{
@Html.ValidationSummary(false)
<fieldset>
<div class="editor-label">
@Html.LabelFor(model => model.UserName)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.UserName)
@Html.ValidationMessageFor(model => model.UserName)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Password)
</div>
<div class="editor-field">
@Html.PasswordFor(model => model.Password)
@Html.ValidationMessageFor(model => model.Password)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.RememberMe)
</div>
<div class="editor-field">
@Html.CheckBoxFor(model => model.RememberMe)
</div>
<input type="image" src="@Url.Content("~/Images/login_button.png")" alt="Login" />
</fieldset>
}
突然,在过去 3 小时内集成了许多其他代码时,我刚刚注意到我的视图已经停止导致回帖/回帖。这是一个简单的登录表单。
我看到这里没有提交类型。但我想知道它是如何早些时候发回给自己的。我应该改变什么?
更新
我刚刚意识到它没有回发到索引(httpPost),因为我在同一个控制器中有一个 CheckUserName 远程验证。当我删除远程验证时,它可以工作。如果我把它介绍回来,它不会。这是我的远程验证。
[AllowAnonymous]
public JsonResult CheckUserName(string userName)
{
using (var context = new Presentation.Models.PMSEntities())
{
context.ContextOptions.LazyLoadingEnabled = false;
Func<User, bool> predicate = u => u.UserName.SameAs(userName) && u.Status.SameAs("Active");
return Json(context.Users.Any(predicate), JsonRequestBehavior.AllowGet);
}
}
我RemoteAttribute
在适当的领域有一套。