【问题标题】:How do I find all controls of a particular type from a page inside a master page?如何从母版页内的页面中找到特定类型的所有控件?
【发布时间】:2013-08-15 20:25:52
【问题描述】:

我必须通过 javascript 启用/禁用我的页面中的所有 RadComboBoxes,该页面位于母版页内。我被指向这个简单的教程 (http://www.telerik.com/support/kb/aspnet-ajax/general/how-to-create-a-javascript-array-of-all-particular-radcontrols-on-the-page.aspx),但它没有在页面中找到所有 Telerik RadControls,而是只返回母版页的 RadControls。我缺少一些东西来指出我想要母版页内的页面控件?

这就是我现在拥有的(allRadControls 从我的母版页返回 RadSplitter、RadPane 和 RadButtons)

 function DisableSave(habilita, botao) {
                    var btSalvar = $find(botao);
                    if (btSalvar != null) {
                        var allRadControls = $telerik.radControls;
                        if (habilita == "True") {
                            btSalvar.set_enabled(true);
                            $("#<%=pnlPrincipal.ClientID%>").find("input,a,textarea,table").attr("disabled", false);
                        }
                        else {
                            btSalvar.set_enabled(false);
                            $("#<%=pnlPrincipal.ClientID%>").find("input,a,textarea,table").attr("disabled", true);
                        }
                    }

【问题讨论】:

  • 您正在使用客户端脚本返回服务器端信息。我认为你只需要看看客户看到了什么。
  • Javascript 在客户端运行,不知道母版页和内容页。 $("#&lt;%=pnlPrincipal.ClientID%&gt;") 是从您的母版页呈现的吗?试试$("input,a,textarea,table").prop("disabled", true);

标签: c# javascript jquery telerik master-pages


【解决方案1】:

RadComboBox 在客户端公开一个包含所有 RadComboBox 实例的数组。这个数组可以像这样访问:

Telerik.Web.UI.RadComboBox.ComboBoxes

例如:

如果 RadComboBox 控件嵌入到另一个控件中,您可以简单地从上述数组中获取这些控件。

这是一个嵌套在 Grid 中的 radcombobox 示例:

<telerik:RadGrid ID="RadGrid1" runat="server" ...>    
    ...     
    <EditItemTemplate>        
    <telerik:RadComboBox ID="RadComboBox1" runat="server"></telerik:RadComboBox>        
    <telerik:RadComboBox ID="RadComboBox2" runat="server"></telerik:RadComboBox>        
    <telerik:RadComboBox ID="RadComboBox3" runat="server"></telerik:RadComboBox>    
    </EditItemTemplate>   
... </telerik:RadGrid>

这里是 JavaScript 代码:

<script>
    function pageLoad() {
        var combo1 = Telerik.Web.UI.RadComboBox.ComboBoxes[0];
        var combo2 = Telerik.Web.UI.RadComboBox.ComboBoxes[1];
        var combo3 = Telerik.Web.UI.RadComboBox.ComboBoxes[2];
    }
</script>

这里是帮助文档链接:

http://www.telerik.com/help/aspnet-ajax/combobox-client-side-basics.html

希望这会有所帮助...

【讨论】:

    猜你喜欢
    • 2016-05-15
    • 1970-01-01
    • 2020-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多