Asp.net Obout组合框所选索引已更改事件不起作用

Asp.net Obout组合框所选索引已更改事件不起作用,asp.net,vb.net,selectedindexchanged,obout,Asp.net,Vb.net,Selectedindexchanged,Obout,我的问题是,Obout组合框的selected index changed事件根本不会触发 请参见下面的我的代码: <obout:ComboBox ID="ddPractice" runat="server" Width="350" MenuWidth="650" Height="180" DataTextField="LocationText" DataValueField="LocationID" EmptyText="Search

我的问题是,Obout组合框的selected index changed事件根本不会触发

请参见下面的我的代码:

      <obout:ComboBox ID="ddPractice" runat="server" Width="350" MenuWidth="650" Height="180"
                    DataTextField="LocationText" DataValueField="LocationID" EmptyText="Search By Practice Name/Code/PostCode"
                    EnableLoadOnDemand="true" EnableVirtualScrolling="true" AutoValidate="true"  AutoPostBack="true" AllowCustomText="false" 
                    TabIndex="11">

                    <HeaderTemplate>
                        <div class="header" style="width: 290px;">
                            Practice
                        </div>
                        <div class="header" style="margin-left: 0px; width: 90px;">
                            PostCode
                        </div>
                        <div class="header" style="margin-left: 0px; width: 90px;">
                            Practice Code
                        </div>
                        <div class="header" style="margin-left: 0px; width: 100px;">
                            PCT
                        </div>
                    </HeaderTemplate>
                    <ItemTemplate>
                        <div class="item" style="width: 290px;">
                            <%# Eval("LocationName")%>
                        </div>
                        <div class="item" style="margin-left: 0px; width: 90px;">
                            <%# Eval("PostCode")%>
                        </div>
                        <div class="item" style="margin-left: 0px; width: 90px;">
                            <%# Eval("PracticeCode")%>
                        </div>
                        <div class="item" style="margin-left: 0px; width: 100px;">
                            <%# Eval("PCTName")%>
                        </div>
                    </ItemTemplate>
                </obout:ComboBox>

                          <asp:TextBox ID="txtPractice"  runat="server" Width="250px" Height="21" Visible="false" />
我还有一个将项目加载到组合框的函数

  Private Sub Practice_LoadingItems(sender As Object, e As     Obout.ComboBox.ComboBoxLoadingItemsEventArgs) Handles ddPractice.LoadingItems

    Dim data As DataTable = GetPractices(e.Text, e.ItemsOffset, 10)

    Dim combobox As Obout.ComboBox.ComboBox = CType(sender, Obout.ComboBox.ComboBox)
    combobox.DataSource = data
    combobox.Items.Clear()
    combobox.DataBind()

    e.ItemsLoadedCount = e.ItemsOffset + data.Rows.Count

    e.ItemsCount = GetPracticesCount(e.Text)
       End Sub
我在stack overflow中看到过一个类似的问题,但它没有任何答案。另外,由于我没有足够的声誉,我不能对此发表评论


请帮助。

您好,我已成功使所选索引更改事件生效

我做的唯一一件事是在aspx页面中添加了AllowCustomText=“true”而不是false

 <obout:ComboBox ID="ddPractice" runat="server" Width="350" MenuWidth="650" Height="180"
                    DataTextField="LocationText" DataValueField="LocationID" EmptyText="Search By Practice Name/Code/PostCode" AutoPostBack="true"
                    EnableLoadOnDemand="true" EnableVirtualScrolling="true" AutoValidate="true"  AllowCustomText="true" 
                    TabIndex="11" style="top: 0px; left: 0px">

这解决了我的问题

请注意:如果此值设置为false,则不会给出所选值。它将始终为空。 因此,在保存之前,请将AllowCustomText ppty设置为False,然后保存它

奇怪的是,为什么这可能会引起问题,但它起了作用


谢谢你的帮助

您好,我已成功使所选索引更改事件生效

我做的唯一一件事是在aspx页面中添加了AllowCustomText=“true”而不是false

 <obout:ComboBox ID="ddPractice" runat="server" Width="350" MenuWidth="650" Height="180"
                    DataTextField="LocationText" DataValueField="LocationID" EmptyText="Search By Practice Name/Code/PostCode" AutoPostBack="true"
                    EnableLoadOnDemand="true" EnableVirtualScrolling="true" AutoValidate="true"  AllowCustomText="true" 
                    TabIndex="11" style="top: 0px; left: 0px">

这解决了我的问题

请注意:如果此值设置为false,则不会给出所选值。它将始终为空。 因此,在保存之前,请将AllowCustomText ppty设置为False,然后保存它

奇怪的是,为什么这可能会引起问题,但它起了作用


谢谢你的帮助

能否显示将处理程序添加到SelectedIndexChanged事件的位置?你应该有一个combobox.SelectedIndexChanged+=dbPractice\u SelectedIndexChanged。很抱歉,我没有在其他地方添加任何处理程序。你能想出这个事件不能被触发的原因吗?这是我在线程之间跳转得到的结果-我发布的是C#语法,而不是VB.Net。你的语法是正确的。出于好奇,您是如何测试该活动的?您是使用鼠标还是键盘来更改所选项目?哦,那很好。我正在使用鼠标。您可以显示将处理程序添加到SelectedIndexChanged事件的位置吗?你应该有一个combobox.SelectedIndexChanged+=dbPractice\u SelectedIndexChanged。很抱歉,我没有在其他地方添加任何处理程序。你能想出这个事件不能被触发的原因吗?这是我在线程之间跳转得到的结果-我发布的是C#语法,而不是VB.Net。你的语法是正确的。出于好奇,您是如何测试该活动的?你是用鼠标还是键盘来更改所选的项目?哦,那很好。我在用鼠标。。