初学控件开发,求助,
       部份代码 ..................
只有一个属性如下
        [Bindable(true)]
        [Category("Appearance")]
        [DefaultValue("")]
        [Localizable(true)]
        public string Text
        {
            get
            {
                String s = (String)ViewState["Text"];
                return ((s == null) ? String.Empty : s);
            }            set
            {
                ViewState["Text"] = value;
            }
        }......
protected override void RenderContents(HtmlTextWriter output)
{
     ...............
            output.Write("<script language=\"JavaScript\">function LoadDate(hiddenHtml){hiddenHtml.value = document.all.TextBox.value;} </script>");
            output.AddAttribute(HtmlTextWriterAttribute.Type, "text");
            output.AddAttribute(HtmlTextWriterAttribute.Id, "TextBox");
            output.AddAttribute(HtmlTextWriterAttribute.Value, this.Text);
            output.AddAttribute(HtmlTextWriterAttribute.Name, this.UniqueID);
            output.AddAttribute("onBlur", "LoadDate(document.getElementById(" + this.UniqueID + "))");
            output.RenderBeginTag(HtmlTextWriterTag.Input);
            output.RenderEndTag();
}
 我想用HTML中的<input type="text"> 写出一个像ASP.NET里TextBox一样的控件,
LoadDate(hiddenHtml)是一个JavaScript方法我是想在文本框失去焦点时把值保存到Text属性里,
我在测试时候增加了一个Button 和一个Label 
想通过单击 Button 把从控件中获取的值在Label 中显示
但老是不成功,获取不到值,,请哪位高人帮帮忙!!!!!!!!

解决方案 »

  1.   

    你的javascript这样写不会错??document.all.TextBox.value你能保证你的这个控件什么时候都叫“TextBox”??
      

  2.   

    output.AddAttribute(HtmlTextWriterAttribute.Id, "TextBox");
    我这里添加的ID 就是 "TextBox" 呀 我这接收的是文本框的ID 而不是控件的ID
    "document.all.TextBox.value"接收的是文本框的值, 我现在就是不知道怎么样把这个值传回给控件的Text属性?
      

  3.   

    output.AddAttribute(HtmlTextWriterAttribute.Id, "TextBox");
    我这里添加的ID 就是 "TextBox" 呀 我这接收的是文本框的ID 而不是控件的ID
    "document.all.TextBox.value"接收的是文本框的值, 我现在就是不知道怎么样把这个值传回给控件的Text属性?
      

  4.   

    output.AddAttribute(HtmlTextWriterAttribute.Id, "TextBox");
    我这里添加的ID 就是 "TextBox" 呀 我这接收的是文本框的ID 而不是控件的ID
    "document.all.TextBox.value"接收的是文本框的值, 我现在就是不知道怎么样把这个值传回给控件的Text属性?
      

  5.   

    继承IPostBackDataHandler
    LoadPostData