C# 在asp.net mvc中使用ajax进行更新

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>

嗨,谁能告诉我这个问题,以及如何解决它

我正在尝试使用ajax更新部分页面,我正在使用新mvc项目附带的基本代码

登录页面包含以下内容:

 <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.";
        }