【问题标题】:IsAjaxRequest is always false after upgrade to RC MVC升级到 RC MVC 后 IsAjaxRequest 始终为 false
【发布时间】:2009-02-11 21:03:19
【问题描述】:

我更新了根据发行说明引用的 AJAX 脚本和程序集。但是,尽管 IsAjaxRequest 实际上是这样的请求,但它仍然总是返回 false。我该如何解决这个问题?

【问题讨论】:

  • Zsharp,你成功了吗?我遇到了与您之前完全相同的问题。请帮忙!
  • 我让它工作了,但我不记得有什么问题。您是否更改了脚本或使用的是最新版本的 mvc?

标签: asp.net asp.net-mvc ajax


【解决方案1】:

据我了解,您正在使用 MS Ajax 库。您也应该更新您的 MicrosoftMvcAjax.js。它被改变了。

【讨论】:

    【解决方案2】:

    我在使用 RC1 更新时没有遇到问题... 作为测试,我将此操作添加到 Home Controller

    public ActionResult Test()
    {
        ifRequest.IsAjaxRequest())
            return PartialView();
        return new EmptyResult();
    }
    

    这个到 Home/Index.aspx 文件

    测试目标 创建视图/Home/Test.ascx
    </br>This is a test
    

    并将 Ajax Javascript 文件添加到母版页


    为了响应 cmets,我在 Index.aspx 中添加了一个 AjaxForm 并且它起作用了

    <%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>
    
    <asp:Content ID="indexHead" ContentPlaceHolderID="head" runat="server">
        <title>Home Page</title>
    </asp:Content>
    
    <asp:Content ID="indexContent" ContentPlaceHolderID="MainContent" runat="server">
        <h2><%= Html.Encode(ViewData["Message"]) %></h2>
        <p>
            To learn more about ASP.NET MVC visit <a href="http://asp.net/mvc" title="ASP.NET MVC Website">http://asp.net/mvc</a>.
        </p>
    
        <%= Ajax.ActionLink("Test", "Test", new AjaxOptions{ UpdateTargetId="TestTarget", InsertionMode=InsertionMode.InsertAfter} ) %>
        <div id="TestTarget">Test Target</div>
    
        <% using(Ajax.BeginForm("Test", new AjaxOptions{ UpdateTargetId="TestTarget", InsertionMode=InsertionMode.InsertAfter} ) ){%>
    
        <button type="submit" >click me</button>
    
        <% } %>
    </asp:Content>
    

    【讨论】:

    • 我没有尝试使用 actionlink,但它不适用于 ajax 表单。
    猜你喜欢
    • 1970-01-01
    • 2013-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多