Telerik RadSpell на RadComboBox не работает? - PullRequest
0 голосов
/ 04 марта 2010

У меня есть RadComboBox со свойством AllowCustomText, установленным в true, и мне нужно предоставить пользователям возможность проверки правописания их записи. Я сделал это, просто добавив элемент управления RadSpell следующим образом:

<telerik:RadComboBox
    ID="rcbsScopeOfWorkGroupDescription"
    runat="server"
    AppendDataBoundItems="true"
    AllowCustomText="true"
    DataSourceID="odsScopeOfWorkGroupDescription"
    DataTextField="sScopeOfWorkGroupDescription"
    DataValueField="sScopeOfWorkGroupDescription"
    Text='<%# Bind("sScopeOfWorkGroupDescription") %>'>
    <Items>
        <telerik:RadComboBoxItem Text="" Value="" />
    </Items>
</telerik:RadComboBox>
<telerik:RadSpell
    ID="rssScopeOfWorkGroupDescription"
    runat="server"
    ControlToCheck="rcbsScopeOfWorkGroupDescription"
    IsClientID="false"
    DictionaryLanguage="en-AU"
    DictionaryPath="~/App_Data/RadSpell" />

Это всплывающее окно правильно находит все орфографические ошибки, но нажатие кнопки «Изменить» не обновляет значение RadComboBox. Странно то, что если я нажимаю на изменение, закрываю проверку орфографии, а затем снова запускаю проверку орфографии, которая говорит, что не может найти никаких ошибок. Очевидно, что элемент управления RadSpell обновляет некоторое поле, но не то, которое используется для отображения или для сохранения данных.

Любые советы будут с благодарностью!

1 Ответ

1 голос
/ 04 марта 2010

Это проблема совместимости с RadSpell и другими элементами управления Telerik, которая должна быть устранена в следующем выпуске RadControls. Значение выпадающего списка хранится в скрытом вводе, который вам необходимо проверить в данный момент. Например, установив

 ControlToCheck="rcbsScopeOfWorkGroupDescription_Input" 
 IsClientID="true"

для элемента управления RadSpell, вы проверите скрытый ввод в поле со списком. Обратите внимание, что значение ControlToCheck может отличаться, если вы используете главную страницу или пользовательские элементы управления. В этом случае вы можете попробовать установить его из кода файла:

rssScopeOfWorkGroupDescription.ControlToCheck = rcbsScopeOfWorkGroupDescription.ClientID + "_Input";
rssScopeOfWorkGroupDescription.IsClientID = true;

Таким образом, он всегда должен найти правильный идентификатор.

...