【问题标题】:Telerik RadComboBox in a RadGrid Client Side ValidationRadGrid 客户端验证中的 Telerik RadComboBox
【发布时间】:2009-10-14 20:08:36
【问题描述】:

我正在使用 Telerik ASP.net 控制套件(我相信是 2008 Q3,还不能升级)。我在 Radgrid 控件中有一个 radcombobox(在 GridTemplateColumn 的编辑模板中)。如果功能正常,但我在网格上的其他控件上进行了一些客户端验证(似乎工作没有错误)。由于某种原因,在客户端验证发生后,组合框停止运行。没有可见的 js 错误,东西就死了。

有人看到这个并修复了吗? Google 让我失望了。

感谢您的帮助。

【问题讨论】:

    标签: asp.net validation telerik radgrid radcombobox


    【解决方案1】:

    好的,我解决了。非常麻烦的工作。

    首先,我在多视图面板之外有一个面板,它与另一个类似的 Radcombobox 一起保存我的网格,该 Radcombobox 也在验证时死亡。我开始想,如果我回了一些帖子,会因为某种原因解决问题吗?因此,在我的网格中,我添加了一个自定义验证器,用于验证网格中的 RadComboBox。它像这样调用一个javascript验证方法......

    function valCOMBO(o, a) {
            a.IsValid = true;
            setTimeout(Res, 500);
          }
          function Res() { __doPostBack("<%=OPCOCombo.UniqueID %>");}
    

    注意,由于此字段不需要用户填写,我总是返回有效为真。这就是准魔法发生的地方。我在javascript网格外的顶部面板中的OTHER RadComboBox上发了一个帖子。网格顶部 RadComboBox 的自动回发设置为 true,如果您尝试此示例,不知道是否有必要。

    成功了。突然之间,两个 RadComboBoxes,网格中的一个和它上面的一个都重新开始工作。但我注意到有时网格的 RadComboBox 中的值会丢失,所以为了咯咯笑,我在 500 毫秒的回发之前添加了轻微的暂停。那成功了。它实际上可以在一个非常小的暂停下工作,但我将它增加到 500 毫秒以获得安全余量,以防最终用户的连接速度很慢,这可能很重要。

    笨拙,笨拙,笨拙。我希望我可以只使用 jQuery,并使用这些该死的 Telerik radcomboboxes 的替代品,但这就是生活(我听说 Telerik 中包含有限版本的 jQuery,将在以后的版本中进行试验)。糟糕的是我敢打赌 Telerik 的最新版本修复了这个问题(它更好),所以当我们升级时,所有这些闲逛最终都将是不必要的(还不能,与我们构建的一些自定义控件发生冲突) Telerik 的。2009 年第一季度+ 打破了这些控制:( )

    希望这可能对某人有所帮助。

    【讨论】:

      【解决方案2】:

      另一种选择。我遇到了一个场景,我不得不使用大量的 RadCombobox,因此我不必担心验证它们的内容,我只是在每个文本字段旁边添加了一个按钮,该按钮将打开一个带有 RadComboBox 的 radwindow,因此可以动态选择值。在选择时,javascript 将 selectedvalue 传递回窗口打开器页面上的目标元素。我遇到了一些令人头疼的问题,尽管在每个键上调用 web 服务之前,我必须在 javascript 中设置一堆上下文参数(提示:使用 IE 至少为 2008 Telerik 版本设置 Radcombobox 的高度......如果你不这样做,你会开始冻结)。

      再次,希望这个想法有用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-11-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多