【问题标题】:Assign a Javascript function to AjaxOptions OnSuccess property raise an error - ASP.NET MVC将 Javascript 函数分配给 AjaxOptions OnSuccess 属性引发错误 - ASP.NET MVC
【发布时间】:2010-10-16 07:03:46
【问题描述】:

我正在使用 Ajax.ActionLink 帮助器来生成删除记录的链接。这是代码:

Ajax.ActionLink("Delete Image", "DeleteImage", new { id = item.Id },
                                               new AjaxOptions { HttpMethod = "Delete", OnSuccess = "Test()" } )

我为 OnSucess 属性分配了一个 Javascript 函数 (Test()),因为我想做一些 JQuery 的事情,但是当我单击删除链接时,会出现此错误消息

Microsoft JScript 运行时错误:“b”为空或不是对象

在 MicrosoftAjax.js 文件中(第 5 行,第 62099 列)。如果我删除 OnSuccess 属性,一切正常(即使 Test() 函数为空,也会引发相同的错误)。感谢您的帮助!

【问题讨论】:

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


    【解决方案1】:
    OnSuccess = "Test()" 
    

    你必须这样写它是一个回调......

    OnSuccess = "Test"
    

    【讨论】:

    • 我可以像 Json 这样访问从该操作返回的值吗?
    • 如何将this(即生成的锚点)传递给js函数?
    【解决方案2】:

    如果您必须将任何参数传递给 OnSuccess 事件,您可能必须以这种方式编写函数。

    OnSuccess = "function(){exampleFunction('" + param1 + "');}"
    

    【讨论】:

      【解决方案3】:

      要传递参数,匿名函数将不起作用,您需要执行以下操作:

      OnSuccess = String.Format("Test({0})", param)
      

      【讨论】:

        猜你喜欢
        • 2018-09-21
        • 2011-02-06
        • 2010-11-15
        • 1970-01-01
        • 2016-01-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多