SelectedIndexChanged事件不会在索引更改时触发

时间:2015-04-27 05:55:08

标签: asp.net vb.net cascadingdropdown selectedindexchanged

我在asp.net中有以下dropdownList控件

<asp:dropdownlist id="ddlMerchantCity" runat="server"></asp:dropdownlist>

我想在SelectedIndexChanged事件上调用一个方法,但它没有进入SelectedIndexChanged事件的主体。我的代码有什么问题?

Protected Sub ddlMerchantCity_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ddlMerchantCity.SelectedIndexChanged
            Response.Write("<script>alert('from selectindex')</script>")
            LoadMerchant()
        End Sub

编辑: 即使在asp.net下拉列表中添加OnSelectedIndexChanged也无法正常工作

<asp:dropdownlist id="ddlMerchantCity" runat="server" OnSelectedIndexChanged="ddlMerchantCity_SelectedIndexChanged"></asp:dropdownlist>

1 个答案:

答案 0 :(得分:0)

当发生此事件时,编译器不知道您有方法可以执行某些操作。您可以通过在aspx标记中定义它来调用此方法:

<asp:dropdownlist id="ddlMerchantCity" runat="server" OnSelectedIndexChanged="ddlMerchantCity_SelectedIndexChanged" AutoPostBack="true"></asp:dropdownlist>

或者你可以在你的代码中设置:

AddHandler ddlMerchantCity.SelectedIndexChanged, AddressOf Me.ddlMerchantcity_SelectedIndexChanged

我宁愿通过标记来做。更快更容易。

/编辑: 如果添加OnSelectedIndexChanged无效,则可能需要设置AutoPostback="true"

在AutoPostBack描述中引用MSDN:

  

获取或设置一个值,该值指示当用户更改列表选择时是否自动发生到服务器的回发。