ページに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
。
問題は、click
JavaScript イベントがコントロールに接続するのに適切なものではないことだと思います。私も試しましたがchange
、それもうまくいきませんでした。基本的に私が欲しいのは、コントロールで選択が変更されたときに、スクリプトが呼び出され、サーバー側のメソッドが呼び出されることです。
私が間違っているかもしれないことについて誰か助けてもらえますか?