繁体   English   中英

C#AJAX Web方法-我在做什么错?

[英]C# AJAX Web methods - What am I doing wrong?

这可能是一个非常讨厌的问题,但是我正在尝试使用AJAX C#和asp.net实现一个简单的Web方法,下面是代码:

后面的C#代码:

using System.Web.Services;

public partial class Controls_LeftNavigation : System.Web.UI.UserControl
{
    [WebMethod]
    public static string MyMethod()
    {
        return "Hello";
    }
}

Asp.net页面:

<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true">
</asp:ScriptManager>

<script type="text/javascript">
            function pageLoad() {
                var acc = $find('<%= Accordion1.ClientID %>_AccordionExtender');
                acc.add_selectedIndexChanging(ClickHandler);
            }
            function ClickHandler() {
                // Do whatever you want.
                alert('Something is happening!');
                alert(PageMethods.MyMethod());
            }
</script>

单击导航按钮时,它会显示“正在发生什么!” 消息框,但不显示页面方法警报。

我正在使用ASP AJAX工具包手风琴,这就是为什么页面加载事件将click handler事件添加到该控件的原因。

页面方法是异步的,您必须提供一个onSuccess处理程序,如下所示:

function OnSuccess(result) {
   alert(result);
}

function ClickHandler() {
   PageMethods.MyMethod(OnSuccess);
}

您还需要阻止SelectedIndexChanging事件执行回发操作,否则页面将无法处理返回的结果。

不支持用户控件上的PageMethods。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM