2015-08-08 72 views
0

在我的公司要修改一个ASp.net项目,Asp.Net下拉OnChange事件不工作

<asp:DropDownList ID="drdIssuer" runat="server" CssClass="txtfield" AutoPostBack="True" OnSelectedIndexChanged="drdIssuer_SelectedIndexChanged" onchange="showvalues();"> 
        <asp:ListItem>Val1</asp:ListItem> 
        <asp:ListItem>Val1</asp:ListItem> 
        <asp:ListItem>Val1</asp:ListItem> 
        <asp:ListItem>Val1</asp:ListItem> 

       </asp:DropDownList> 

这是HTML的ASP代码和JavaScript这样的,

<script type="text/javascript"> 
     function showvalues() 
     { 
      alert('Yes'); 
     } 
     </script> 

当我改变下拉列表我想工作showvalues()函数我该怎么做,你们可以帮我...

+0

你是否为此添加了基本的jquery库。 ''。我在我的页面中尝试了你的代码,它完美地工作。 – BNN

+0

是的,我在该页面中添加了“/'应用程序中的服务器错误。 –

+0

不包含“drdIssuer_SelectedIndexChanged”的定义,并没有扩展方法“drdIssuer_SelectedIndexChanged”你能不能帮我thiserror .. –

回答

0

您可以注册一个html事件,由asp:下拉呈现select元素。

drdIssuer.Attributes["onchange"] = "showvalues();"; 
0

,因为,你有1.You获得的是错误可能不会添加命名空间

using System.Data.SqlClient; 
  • 也由你在评论中提到,你是收到错误为
  • 我得到了错误的服务器错误“/”应用

    为此,您可以参考Geeks blogs中提到的详细解决方案。

    而且也看看here因为它不是一个主要问题,并根据您提供的信息,上述解决方案应该工作。

    你的整个代码隐藏的drdIssuer_SelectedIndexChanged应该是这样的

    using System.Data.SqlClient; //namespace 
    
    
    protected void drdIssuer_SelectedIndexChanged(object sender, EventArgs e) 
    { 
        SqlParameter[] param = new SqlParameter[1]; 
        if (drdIssuer.SelectedValue == "Val1") 
        { 
         Response.Write(@"<script langauge='text/javascript'>alert('...Alert Goes here...');</script>"); 
        } 
    } 
    

    此外,如果你从值中删除onChange功能。你Response.Write还要争取Val1

    <asp:DropDownList ID="drdIssuer" runat="server" OnSelectedIndexChanged="drdIssuer_SelectedIndexChanged" 
         CssClass="txtfield" AutoPostBack="True"> 
         <asp:ListItem>Val1</asp:ListItem> 
         <asp:ListItem>Val2</asp:ListItem> 
         <asp:ListItem>Val3</asp:ListItem> 
         <asp:ListItem>Val4</asp:ListItem> 
        </asp:DropDownList> 
    

    希望有所帮助。