Telerik radlistbox запускает OnClientItemChecked и OnClientSelectedIndexChanged при проверке элемента - PullRequest
0 голосов
/ 20 сентября 2010

Telerik radlistbox запускает OnClientItemChecked и OnClientSelectedIndexChanged, когда элемент отмечен в Firefox и IE, но не в Chrome.

Хром, похоже, имеет правильное поведение. Для этого есть причина? Могу ли я сделать так, чтобы IE и Firefox вели себя соответственно?

Еще немного контекста;

Этот radlistbox загружается в панель ascx.

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

А вот Javascript, который он вызывает, объявлен в том же файле ascx:

<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>

9/22/2010 17:03 РЕДАКТИРОВАТЬ : Так что я на последней версии, как в первом ответе. Все еще не повезло. Я сделал то, что должен был сделать первым, и попробовал просто ванильный radlistbox на пустой странице aspx. Там не было никакой ошибки, поэтому я предполагаю, что это связано с тем, что проблемы управления встроены в модальное всплывающее окно на странице с несколькими слоями пользовательских элементов управления и даже с мастер-страницами. По крайней мере, я знаю, что это не Telerik сейчас.

1 Ответ

0 голосов
/ 23 сентября 2010

Я пытался воспроизвести проблему, но не смог этого сделать (Windows 7 x64). Я протестировал следующий код в 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...