我正在使用Telerik ASP.net控件套件(我相信2008 Q3,还不能升级)。我在Radgrid控件中有一个radcombobox(在GridTemplateColumn的Edit模板中)。如果函数没问题,但我在网格上的其他控件上有一些客户端验证(看起来没有错误)。出于某种原因,在客户端验证发生后,组合框停止运行。没有可见的js错误,事情就此消失。
有人见过这个并且已修复过吗?谷歌让我失望。
感谢您的帮助。
答案 0 :(得分:1)
好的,我解决了。非常狡猾的工作。
首先,我在multiviewpanel外面有一个面板,用于保存我的网格,另一个类似的Radcombobox也在验证时死亡。我开始思考,如果我做了某种回复,那会因某种原因解决问题吗?所以在我的网格中,我添加了一个自定义验证器,用于验证网格中的RadComboBox。它调用了一个像这样的javascript验证方法......
function valCOMBO(o, a) {
a.IsValid = true;
setTimeout(Res, 500);
}
function Res() { __doPostBack("<%=OPCOCombo.UniqueID %>");}
注意,由于此字段不需要由用户填写,我总是返回有效是真的。这是准魔法发生的地方。我在javascript中在网格外的顶部面板中的OTHER RadComboBox上发回了一条帖子。网格RadComboBox的顶部将其autopostback设置为true,如果您尝试此示例,则不知道是否有必要。
有效。突然间,两个RadComboBox都是网格中的一个和上面的一个再次开始工作。但是我注意到有时会在网格的RadComboBox中丢失这个值,所以对于咯咯笑声,我在做500毫秒的回发之前添加了一点暂停。这就是诀窍。它实际上可以在非常小的暂停下工作,但是我将其增加到500毫秒以获得安全边际,因为最终用户连接速度很慢,这可能很重要。
Cluggy,cluggy,cluggy。我希望我可以使用jQuery,并使用替代这些吓人的telerik radcomboboxes,但这就是生活(我听说有限版本的jQuery被埋没在Telerik中,将在以后的版本中进行试验)。糟糕的是我打赌Telerik的最新版本解决了这个问题(它更好),所以当我们升级时,所有这些问题最终都是不必要的(还不能,与我们构建的一些自定义控件有些冲突) Telerik。2009年1月1日+打破那些控制:()
希望这可能有助于某人。
答案 1 :(得分:0)
另一种选择。我遇到了一个场景,我不得不使用大量的RadComboboxes而不是担心验证它们的内容,我只是添加了一个文本字段,每个文本字段旁边都有一个按钮,可以用RadComboBox打开一个radwindow,因此可以动态选择值。在选择javascript时,将selectedvalue传递回窗口开启器页面上的目标元素。我遇到了一些令我头疼的问题,我必须在javascript中设置一堆上下文参数,然后在每个键上调用webservice(提示:使用IE设置Radcombobox的高度至少为2008 Telerik版本...如果你不会开始冻结。
再次希望这个想法很有用。