代码之家  ›  专栏  ›  技术社区  ›  Matt

Telerik RadListBox在选中项时同时激发OnClientItemChecked和OnClientSelectedIndexChanged。

  •  0
  • Matt  · 技术社区  · 14 年前

    telerik radlistbox在firefox和ie中签入项,但在chrome中不签入项时,同时激发onclientItemChecked和onclientSelectedIndexChanged。

    铬似乎有适当的行为。有什么原因吗? 我能让IE和火狐也相应地工作吗?

    更多的上下文;

    这个RadListBox被加载到一个ascx面板中。

    <telerik:RadListBox CheckBoxes="true" EnableDragAndDrop="True" Height="400" 
    ID="radListBox0" OnClientItemChecked="OnClientItemChecked" 
    OnClientSelectedIndexChanged="OnClientSelectedIndexChanged" runat="server" 
    SelectionMode="Single" Visible="true" Width="275" />
    

    下面是它在同一个ascx文件中声明的javascript:

    <telerik:RadCodeBlock ID="radCodeBlock" runat="server">
    
        <script type="text/javascript">
            function OnClientSelectedIndexChanged(sender, eventArgs) {
                            var ajaxManager = 
                                $find("<%= RadAjaxManager.GetCurrent(Page).ClientID %>");
                            var t = sender._clientStateFieldID;
                            if (ajaxManager != null)
                                ajaxManager.ajaxRequest("ListBoxIndexChanged|" + t);
            }
            function OnClientItemChecked(sender, eventArgs) {
    
            }
        </script>
    </telerik:RadCodeBlock>
    

    2010年9月22日17:03编辑 :所以我和第一个回复一样使用了最新版本。 还是没有运气。我做了我应该先做的,在空白的ASPX页面上尝试了一个普通的RADLISTOX。 这里没有错误,所以我猜想它必须这样做,因为控件问题是在一个包含多层自定义控件甚至母版页的页面上的模式弹出窗口中生成的。至少我知道现在不是Telerik。

    1 回复  |  直到 14 年前
        1
  •  0
  •   Darin Dimitrov    14 年前

    我试图重现问题,但无法重现(Windows7x64)。我已经在chrome 6.0、firefox 3.6.10和ie 8下测试了以下代码,它们的行为都相同:

    <%@ Page Language="C#" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
            <asp:ScriptManager ID="scm" runat="server" />
    
    
            <telerik:RadCodeBlock ID="radCodeBlock" runat="server">
    
            <script type="text/javascript">
                function OnClientSelectedIndexChanged(sender, eventArgs) {
                    alert('OnClientSelectedIndexChanged');
                }
                function OnClientItemChecked(sender, eventArgs) {
                    alert('OnClientItemChecked');
                }
                </script>
            </telerik:RadCodeBlock>
    
            <telerik:RadListBox 
                CheckBoxes="true" 
                EnableDragAndDrop="True" 
                ID="radListBox0" 
                OnClientItemChecked="OnClientItemChecked" 
                OnClientSelectedIndexChanged="OnClientSelectedIndexChanged" 
                runat="server" 
                SelectionMode="Single" 
                Visible="true">
                <Items>
                    <telerik:RadListBoxItem Value="value1" Text="text1" />
                    <telerik:RadListBoxItem Value="value2" Text="text2" />
                    <telerik:RadListBoxItem Value="value3" Text="text3" />
                </Items>
            </telerik:RadListBox>
        </form>
    </body>
    </html>
    

    只调用了一个客户机处理程序:或者 OnClientItemChecked OnClientSelectedIndexChanged