protected override void RenderPreText(System.Web.UI.HtmlTextWriter writer)
        {
            if (!ShowCheckBox.HasValue || !ShowCheckBox.Value)
            {
                writer.WriteBeginTag("input");
                writer.WriteAttribute("type", "checkbox");
                if (Checked)
                {
                    writer.WriteAttribute("checked", "checked");
                }
                writer.WriteAttribute("disabled", "disabled");
                writer.WriteEndTag("");
            }
            base.RenderPostText(writer);
        }
预期效果也达到了,可惜的Postback的时候这个checkbox就丢失了help

解决方案 »

  1.   

    呵呵
    protected override void Render(System.Web.UI.HtmlTextWriter writer)
            {
      

  2.   

    怎讲?
    还有TreeNode里似乎没有Render的虚函数。。
      

  3.   


    我晕,是在重写treenode类?
      

  4.   

        protected void Page_Load(object sender, EventArgs e)
        {
            TreeView tv = new TreeView();
            
            mTreeNode tn = new mTreeNode();
            tn.Text = "1";
            tv.Nodes.Add(tn);
            Form.Controls.Add(tv);
        }
        protected void Button1_Click(object sender, EventArgs e)
        {    }
    class mTreeNode : TreeNode
    {
        protected override void RenderPreText(System.Web.UI.HtmlTextWriter writer)
        {
            writer.WriteBeginTag("input");
            writer.WriteAttribute("type", "checkbox");
            writer.WriteAttribute("checked", "checked");
            writer.WriteAttribute("disabled", "disabled");
            writer.WriteEndTag("");
            base.RenderPostText(writer);
        }
    }
    我把if去掉了。我测试怎么正常?