1

ページにASP.NETDropDownListサーバー コントロールがありますDefault.aspx。選択変更イベントを処理しようとしています (サーバーイベントを使用している場合はSelectedIndexChangedイベントでした) クライアント側で AJAX コールバックをサーバーに戻します (数年前に UpdatePanels を使用jQuery/ajaxしていましたが、今はこれを行うために使用したいだけです) )。

次の単純なメソッド サーバー側があります (この例http://encosia.com/using-jquery-to-directly-call-aspnet-ajax-page-methods/に従います):

[WebMethod]
public static void MyDDL_SelectedIndexChanged()
{
  //Do some processing
}

次に、ページに次の JavaScript を含めます。

<script type="text/javascript">
      $(document).ready(function () {
         // Add the page method call as an onclick handler for the control.
         $("<%= MyDDL.ClientID %>").click(function () {
               $.ajax({
                  type: "POST",
                  url: "Default.aspx/MyDDL_SelectedIndexChanged",
                  data: "{}",
                  contentType: "application/json; charset=utf-8",
                  dataType: "json"
               });
            });
            });
</script>

サーバーコントロールは次のとおりです。

<asp:DropDownList ID="MyDDL" runat="server" Width="340px" />

現状では、これは機能しません。エラーでも何でもありません。と対話するために何をしても、メソッドは呼び出されませんDropDownList

問題は、clickJavaScript イベントがコントロールに接続するのに適切なものではないことだと思います。私も試しましたがchange、それもうまくいきませんでした。基本的に私が欲しいのは、コントロールで選択が変更されたときに、スクリプトが呼び出され、サーバー側のメソッドが呼び出されることです。

私が間違っているかもしれないことについて誰か助けてもらえますか?

4

1 に答える 1

1

クリックの代わりに変更イベントを試してください

于 2013-09-06T18:41:17.507 に答える