gpt4 book ai didi

jquery - Request.IsAjaxRequest 在 MVC3 中永远不会返回 true

转载 作者:行者123 更新时间:2023-12-01 02:23:18 25 4
gpt4 key购买 nike

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

    @using (Ajax.BeginForm("PartialUpdate", "Listing"
, new AjaxOptions {
UpdateTargetId = "ListPartialDiv",
HttpMethod = "GET",
InsertionMode = InsertionMode.Replace,

}))
{
<!-- Search Boxes and buttons here -->
}

<div id = "ListPartialDiv">
@{
Html.RenderPartial("_ListPartial", Model);
}
</div>

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

    <script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-1.7.1.min.js")" type="text/javascript">

我的 Controller 代码非常简单:

      if (Request.IsAjaxRequest())
return PartialView("_ListPartial", list);

return View("Index", list);

但无论如何,Request.IsAjaxRequest() 总是返回 false。我还根据 This Question 使用了 fiddler 和 firebug并且没有看到 X-Requested-With header ,但我无法真正弄清楚这意味着什么或如何更改它。我唯一能想到的是我看到的所有其他示例都使用旧版本的 jquery。这有什么关系吗?谢谢你的帮助。

最佳答案

您在 jQuery 之前包含了 unobtrusive-AJAX 脚本,因此您的脚本都不起作用。

关于jquery - Request.IsAjaxRequest 在 MVC3 中永远不会返回 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9607164/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com