簡體   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