0

我有一个将 AllowCustomText 属性设置为 true 的 RadComboBox,我需要为用户提供拼写检查其条目的功能。我通过简单地添加一个 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 控件正在更新某些字段,但不是用于显示或保存数据的字段。

任何提示将非常感谢!

4

1 回答 1

1

这是与 RadSpell 和其他 Telerik 控件的兼容性问题,应该在下一个 RadControls 版本中解决。组合框值存储在隐藏输入中,这是您目前需要检查的内容。例如,通过设置

 ControlToCheck="rcbsScopeOfWorkGroupDescription_Input" 
 IsClientID="true"

对于 RadSpell 控件,您将检查组合框的隐藏输入。请注意,如果您使用的是母版页或用户控件,则 ControlToCheck 的值可能会有所不同。在这种情况下,您可以尝试从代码隐藏文件中设置它:

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

这样,它应该总能找到正确的 ID。

于 2010-03-04T09:13:03.040 回答