我有一个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控件正在更新某个字段,但不会更新用于显示或保存数据的字段。
任何提示都将不胜感激!
答案 0 :(得分:1)
这是RadSpell和其他Telerik控件的兼容性问题,应在下一个RadControls版本中解决。组合框值存储在隐藏输入中,此时您需要检查该输入。例如,通过设置
ControlToCheck="rcbsScopeOfWorkGroupDescription_Input"
IsClientID="true"
对于RadSpell控件,您将检查组合框的隐藏输入。请注意,如果您使用母版页或用户控件,则ControlToCheck的值可能会有所不同。在这种情况下,您可以尝试从代码隐藏文件中设置它:
rssScopeOfWorkGroupDescription.ControlToCheck = rcbsScopeOfWorkGroupDescription.ClientID + "_Input";
rssScopeOfWorkGroupDescription.IsClientID = true;
这样它应该总能找到正确的ID。