not possible this way, try to create a textbox in your control and remove Render methodclass YourControl : Control
{
TextBox tb = new TextBox(); public string Text
{
get { return tb.Text;}
set { tb.Text = value;}
} protected override void CreateChildControls()
{
Controls.Add(new LiteralControl("<table>")); //or create Table object here
Controls.Add(new LiteralControl("<tr><td>"));
Controls.Add(tb);
Controls.Add(new LiteralControl("</td></tr>"));
Controls.Add(new LiteralControl("</table>"));
}
}
{
TextBox tb = new TextBox(); public string Text
{
get { return tb.Text;}
set { tb.Text = value;}
} protected override void CreateChildControls()
{
Controls.Add(new LiteralControl("<table>")); //or create Table object here
Controls.Add(new LiteralControl("<tr><td>"));
Controls.Add(tb);
Controls.Add(new LiteralControl("</td></tr>"));
Controls.Add(new LiteralControl("</table>"));
}
}
{
writer.Write("<table>");
writer.Write("<tr><td>");
writer.Write(String.Format("<input type=text id='{0}' name='{0}'>", this.ClientID, this.UniqueID));
writer.Write("</td></tr>");
writer.Write("</table>");
}in your main page's Page_Load, you doPage.RegisterStartupScript("startup",
String.Format("<script>document.getElementById('{0}').value = '123';</script>", YourControl.ClientID));