【问题标题】:Issues with $find using Telerik RadTreeView in Master Page在母版页中使用 Telerik RadTreeView 的 $find 问题
【发布时间】:2009-08-07 21:38:03
【问题描述】:

我在 2 个嵌套的 RadSplitters 内的 MasterPage 上有一个 RadTreeView。我正在使用 LoadOnDemand,但需要能够从服务器端代码扩展节点。我试图通过调用我编写的方法来将节点扩展到 ResponseScripts 来做到这一点。该方法在 RadCodeBlock 中如下:

<telerik:RadCodeBlock ID="RadCodeBlock2" runat="server"> 
<script type="text/javascript"> 
    function expandNode(nodeid) { 
        var treeView = $find("<%= NavigationTreeView.ClientID %>"); 
        var node = treeView.findNodeByValue(nodeid); 
        if (node) { 
            node.expand(); 
            return true; 
        } 
        return false; 
    }    
</script> 
</telerik:RadCodeBlock> 

我的问题是我无法访问 RadTreeView 来展开节点。我将不胜感激有关如何使用 $find 从 javascript 访问此树视图的任何指导。

谢谢!

劳伦·科施纳

【问题讨论】:

    标签: asp.net-ajax telerik


    【解决方案1】:

    如果您尝试从 javascript 扩展树视图,您的代码可以正常工作。

    <%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %>
    

    函数expandNode(nodeid) {

                    var treeView = $find("<%= NavigationTreeView.ClientID %>");         
                    var node = treeView.findNodeByValue(nodeid);
                    alert(node);
                    if (node) 
                    {             
                        node.expand();             
                        return true;         
                    }
    
    
    
                    return false; 
    
    
    
                }
    
            </script>
        </telerik:RadCodeBlock>
    
        <telerik:RadSplitter ID="RadSplitter1" runat="server">
            <telerik:RadPane ID="RadPane" runat="server">
                <telerik:RadTreeView ID="NavigationTreeView" runat="server" >
                    <Nodes>
                        <telerik:RadTreeNode Text="Node 1" Value="0">
                            <Nodes>
                                <telerik:RadTreeNode Text="Child1" Value="1"></telerik:RadTreeNode>
                            </Nodes>
                        </telerik:RadTreeNode>
                    </Nodes>
                </telerik:RadTreeView>
            </telerik:RadPane>
        </telerik:RadSplitter>
    
        <asp:Button ID="BtnExpand" runat="server" Text="Expand jscript" OnClientClick="expandNode(0);" />
        <asp:Button ID="BtnExpandServer" runat="server" Text="Expand Server" OnClick="BtnExpandServer_Click" />
    
        <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
    
        </asp:ContentPlaceHolder>
    </div>
    </form>
    

    如果您正在尝试扩展服务器端,以下工作基于我上面发布的示例。

    protected void BtnExpandServer_Click(object sender, EventArgs e)
    {        
        RadTreeNode node = NavigationTreeView.FindNodeByValue("0");
        node.Expanded = true;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-19
      • 2011-05-14
      相关资源
      最近更新 更多