Asp.net 如何在使用AJAX时调用dropdownlist的sub-onchange?

Asp.net 如何在使用AJAX时调用dropdownlist的sub-onchange?,asp.net,vb.net,asp.net-ajax,ajax.net,Asp.net,Vb.net,Asp.net Ajax,Ajax.net,因此,我知道如何使用ajax在单击按钮时调用方法,但当用户在dropdownlist上选择新内容时,我也希望这样做。我将在下面显示我尝试过的代码: <asp:UpdatePanel ID="pnlHelloWorld" runat="server"> <ContentTemplate> <div style="height: auto; overflow: auto; max-height:750px; width:100%;">

因此,我知道如何使用ajax在单击按钮时调用方法,但当用户在dropdownlist上选择新内容时,我也希望这样做。我将在下面显示我尝试过的代码:

<asp:UpdatePanel ID="pnlHelloWorld" runat="server">

      <ContentTemplate>

        <div style="height: auto; overflow: auto; max-height:750px; width:100%;">
          <asp:DropDownList ID="mydropdownlist" runat="server" Enabled="true" OnChange="changeMyTable"></asp:DropDownList>   
          <asp:Table ID="mytable" runat="server"></asp:Table>
        </div>

      </ContentTemplate>

</asp:UpdatePanel>
问题是,当我更改dropdownlist时,“changeMyTable”是未定义的


如何执行此操作?

您正在使用
OnChange
事件从javascript调用代码隐藏方法。要访问代码隐藏方法,您需要将该方法转换为
WebMethod
。下面是一些你可以尝试的东西(只是一个例子)


你确定Dropdownlist有
OnChange
服务器事件吗?我用它来调用一些JS代码,所以我很确定。现在我正在尝试使用AJAX。这就是我要说的,如果您想从javascript调用服务器端方法,那么应该将该方法设置为静态。我明白你现在在说什么;必须有OnChange事件才能这样做。这满足了我的问题,所以请随时发布答案。我也不知道如何通过JS调用静态服务器端方法,你介意提供一个简单的例子吗?非常好的答案,教会了我比我希望的更多。很高兴它有帮助。快乐编码!
Private Sub changeMyTable()
'Add rows to table
end sub
     <asp:TextBox ID="txtName" runat="server"></asp:TextBox>
     <asp:TextBox ID="txtLastName" runat="server"></asp:TextBox>
     <asp:TextBox ID="txtMsg" runat="server"></asp:TextBox>
   <script type="text/javascript">
    function greet(txtN, txtLastN, txtMsg){
     var ctrlN = document.getElementById(txtN);
     var ctrlLastN = document.getElementById(txtLastN);
     var fullName = ctrlN.value + '  ' + ctrlLastN.value;
     PageMethods.greetUser(fullName, greetSuccess, greetFailed, txtMsg);
   }
  function greetSuccess(res, txtMsg) {
    var ctrlTxtMsg = document.getElementById(txtMsg);
    ctrlTxtMsg.value = res;
   }
  function greetFailed(res, dst) {
    alert(res.get_message());
   }
 </script>
   <System.Web.Services.WebMethod()> _
      Public Shared Function greetUser(ByVal fullName As String) As String
         Return "Welcome " & fullName & "!"
     End Function