RadComboBox上的Telerik RadSpell不起作用?

时间:2010-03-04 01:53:41

标签: telerik radcombobox

我有一个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 个答案:

答案 0 :(得分:1)

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

 ControlToCheck="rcbsScopeOfWorkGroupDescription_Input" 
 IsClientID="true"

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

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

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