is_ajax=true,Request.IsAjaxRequest永远不会在MVC3中返回true

我正在使用Asp.net MVC3并尝试向服务器发送一个简单的Ajax帖子,该服务器返回部分视图并在搜索期间更新我的项目列表。

@using (Ajax.BeginForm("PartialUpdate", "Listing"

, new AjaxOptions {

UpdateTargetId = "ListPartialDiv",

HttpMethod = "GET",

InsertionMode = InsertionMode.Replace,

}))

{

}

@{

Html.RenderPartial("_ListPartial", Model);

}

ajax成功调用服务器,服务器通过发送部分视图进行响应。但是局部视图总是在新页面中呈现。我发现这是因为它不知道它是一个ajax调用,所以它呈现一个新的页面。我已经包含了正确的jquery-ubobtrusive-ajax.min.js脚本,并根据This Question添加了以下密钥

我的控制器代码非常简单:

if (Request.IsAjaxRequest())

return PartialView("_ListPartial", list);

return View("Index", list);

但是,无论如何,Request.IsAjaxRequest()总是返回false。

我也根据This Question使用了小提琴手和萤火虫,并没有看到X-Requested-With标题,但我无法弄清楚这意味着什么或如何改变它。我唯一能想到的是,我看到的每个其他示例都使用旧版本的jquery。这与它有什么关系吗?谢谢你的帮助。