tv_root.Attributes.Add("runat", "server")不能写吧!!!问题应该是这句!!!

解决方案 »

  1.   

    你的 Treeview 放在在 .aspx 的 Content1 中?那么你的 master 中的 ContentPlaceHolder1 必须放在 <form runat=server > 内总之,检查你的 TreeView 是否作为 form 的子控件!
      

  2.   

    楼上说的对,必须作为form的子控件,该控件必须包含进入
      

  3.   

    tv_root.Attributes.Add("runat", "server"); 这句是在向客户端输出html的时候加的,你在这里加的runat=server是不会对服务端解析起作用的.它们会被当作纯文本发送到客户端,而不是像真正的服务端控件一样被服务器处理.
      

  4.   

    母版页中是这样的,好象没有问题哦
    <form id="form1" runat="server">
          <asp:contentplaceholder id="ContentPlaceHolder1" runat="server">
            </asp:contentplaceholder>
    </form>
      

  5.   


    <form id="form1" runat="server">
    <asp:TreeView ID="Tree1" runat="server" Height="400px" ImageSet="News"
                    Style="left: -16px; position: absolute; top: 5px; font-size: large;" Width="160px" Font-Size="Medium" NodeIndent="10">
                    <ParentNodeStyle Font-Bold="False" />
                    <HoverNodeStyle Font-Underline="True" />
                    <SelectedNodeStyle Font-Underline="True" HorizontalPadding="0px"
                        VerticalPadding="0px" />
                    <Nodes>
                        <asp:TreeNode Text="新建节点" Value="新建节点"></asp:TreeNode>
                        <asp:TreeNode Text="新建节点" Value="新建节点"></asp:TreeNode>
                    </Nodes>
                    <NodeStyle Font-Names="Arial" Font-Size="10pt" ForeColor="Black" HorizontalPadding="5px"
                        NodeSpacing="0px" VerticalPadding="0px" />
                </asp:TreeView>
    </form>这样没什么问题啊。
      

  6.   

    我是在页面上生成treeview控件的,引用的是母版页,但是报错
    类型“TreeView”的控件“tvLGB001TB”必须放在具有 runat=server 的窗体标记内。 
      

  7.   

    所有的页面运行后在浏览器上看到的都是标准的xhtml页面,因为浏览器只认这个。
    所谓的服务器控件什么的都是针对web服务器或者编程人员来说的。
      

  8.   

    但是页面上查看原代码是没有runat=server 的
    我要是在aspx下直接用treeview是可以的,但是在.cs下添加treeview就出现那样的错
      

  9.   

    TreeView 要放在 <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1"  runat="server" > </asp:Content>中
      

  10.   

    我在.cs页面上创建的TreeView 
                         TreeView tv_root = new TreeView()
                      tv_root.Attributes.Add("runat", "server");
                        tv_root.ID ="tv"+ str_rootTree;                    Response.Expires = 0;
                        string strxm_name = "~/xml/" + str_rootTree + ".xml";
                        XmlDataSource xmldatasource = new XmlDataSource();
                        xmldatasource.DataFile = strxm_name;
                        tv_root.DataSource = xmldatasource;
                        tv_root.DataBind();
                        xmldatasource.EnableCaching = false;
                         this.Page.Controls.Add(tv_root);有这个:<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1"  runat="server" >
    注:我要是在aspx下直接用treeview是可以的,但是在.cs下添加treeview就出现那样的错
      

  11.   

    你用下plackholder试试,把TreeList加这里面
      

  12.   

    源码里面看不到服务器的东西的
    runat不能那样加
      

  13.   

    服务器要编译你的代码,首先检查有无runat="server"
    你又在程序里动态添加,叫编译器如何处理?
    编程的人,要有一点逻辑思维。况且attributs.add添加的都是客户端的属性。
      

  14.   

    页面运行后本来就没有runat="server",客户端要它干嘛!
      

  15.   

    tv_root.Attributes.Add("runat", "server"); 
    ~
    是加到客户端解析后的代码中的
      

  16.   

    可以。请参考下面代码1(.aspx):
    <asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHolder2" Runat="Server">
    <form id="formMain" runat = "server">
    </form>
    </asp:Content>
    请参考下面代码2(.cs):
            System.Web.UI.WebControls.TreeView TreeView1 = new System.Web.UI.WebControls.TreeView();
            TreeNode RootNode = new TreeNode();
            RootNode.Text = "Father";
            RootNode.Value = "FatherValue";
            //RootNode.NavigateUrl = "Default.aspx";
            RootNode.Target = "rform";
            TreeView1.Nodes.Add(RootNode);        TreeNode L1Node = new TreeNode();        AddNode(RootNode, L1Node, "L1Node", "L1Value", "Default.aspx");        TreeView1.ShowLines = true;
            ContentPlaceHolder mpContentPlaceHolder;
            mpContentPlaceHolder = (ContentPlaceHolder)Master.FindControl("ContentPlaceHolder2");
           mpContentPlaceHolder.FindControl("formMain").Controls.Add(TreeView1);