C# 在asp.net mvc中使用ajax进行更新
嗨,谁能告诉我这个问题,以及如何解决它 我正在尝试使用ajax更新部分页面,我正在使用新mvc项目附带的基本代码 登录页面包含以下内容:C# 在asp.net mvc中使用ajax进行更新,c#,asp.net-mvc,ajax,C#,Asp.net Mvc,Ajax,嗨,谁能告诉我这个问题,以及如何解决它 我正在尝试使用ajax更新部分页面,我正在使用新mvc项目附带的基本代码 登录页面包含以下内容: <span id="error"/> @using (Ajax.BeginForm("LogOn", "Account", new AjaxOptions { UpdateTargetId="error"})) { <div> <fieldset> <legend>
<span id="error"/>
@using (Ajax.BeginForm("LogOn", "Account", new AjaxOptions { UpdateTargetId="error"})) {
<div>
<fieldset>
<legend>Account Information</legend>
<div class="editor-label">
@Html.LabelFor(m => m.UserName)
</div>
<div class="editor-field">
@Html.TextBoxFor(m => m.UserName)
@Html.ValidationMessageFor(m => m.UserName)
</div>
<div class="editor-label">
@Html.LabelFor(m => m.Password)
</div>
<div class="editor-field">
@Html.PasswordFor(m => m.Password)
@Html.ValidationMessageFor(m => m.Password)
</div>
<div class="editor-label">
@Html.CheckBoxFor(m => m.RememberMe)
@Html.LabelFor(m => m.RememberMe)
</div>
<p>
<input type="submit" value="Log On" />
</p>
</fieldset>
</div>
}
基本上,我所做的是将登录表单嵌入到一个模式弹出窗口中。
如果输入的用户凭据失败,我希望错误显示在模式弹出窗口中,而不是转到其他页面
上面的代码只是创建了一个空白页面,其中包含的文本用户名或密码不正确……我需要它显示在模式对话框jQuery中。最明显的问题是,您是否已将脚本添加到您尝试执行此操作的页面中?第二,如果您要发布到HTTPS,那么您的脚本也必须是HTTPS,否则会出现安全错误。这篇文章帮助了我:
你能给我们看看LogonModel吗?我假设它只是用户名、密码和memberme,但是否使用了任何数据注释?可能,如果您正在检查ModelState.logonModel是一个随新mvc项目一起开箱即用的模型。添加脚本后,我将使用随新项目一起提供的标准开箱即用登录代码。
[HttpPost]
public string LogOn(LogOnModel model, string returnUrl)
{
if (ModelState.IsValid)
{
if (MembershipService.ValidateUser(model.UserName, model.Password))
{
FormsService.SignIn(model.UserName, model.RememberMe);
if (Url.IsLocalUrl(returnUrl))
{
Redirect(returnUrl);
}
else
{
RedirectToAction("Index", "Home");
}
}
else
{
ModelState.AddModelError("", "The user name or password provided is incorrect.");
}
}
return "The user name or password provided is incorrect.";
}