Firefox Request.IsAjaxRequest()第二次无效

时间:2011-08-07 20:03:12

标签: asp.net-mvc ajax

我遇到了Request.IsAjaxRequest()方法的问题,Firefox似乎是唯一无法正常运行的浏览器。

我有一个PartialView,我使用Ajax.BeginForm()只重新加载页面的那一部分:

@using (Ajax.BeginForm(new AjaxOptions() { UpdateTargetId = "form0", OnSuccess = "$.validator.unobtrusive.parse('form0');" }))
{
    <div>
        <fieldset>
            <h3>
                Login
            </h3>
            <div class="required">
                @Html.LabelFor(m => m.Username)
                @Html.TextBoxFor(m => m.Username)
                @Html.ValidationMessageFor(m => m.Username)
            </div>
            <div class="required">
                @Html.LabelFor(m => m.Password)
                @Html.PasswordFor(m => m.Password)
                <input type="submit" value="Login" />
                @Html.ValidationMessageFor(m => m.Password)
            </div>
            <div class="checkboxContainer">
                @Html.ActionLink("Forgot?", "ForgotPassword")
                @Html.CheckBoxFor(m => m.RememberMe)
                @Html.LabelFor(m => m.RememberMe)
            </div>
        </fieldset>
    </div>
}

在控制器中我有代码:

if (Request.IsAjaxRequest())
{
    return PartialView("~/Views/Account/_Login.cshtml", model);
}
else
{
    return View(model);
}

因为它还需要在没有启用JavaScript的情况下工作。

事情是Firefox第一次返回PartialView并第二次返回View。其他浏览器(Opera,IE,Chrome)工作正常,并始终返回PartialView。

0 个答案:

没有答案