Establecer texto de visualización de la caja de texto de entrada HTML usando C #

Tengo un cuadro de entrada HTML en mi página ASPX como a continuación

 

Ahora tengo un código escrito en C # codebehind que calcula un valor y quiero que ese valor se muestre en el TextBox anterior.

Ya lo he intentado

 txtID.Value = Number.ToString(); 

y

 HtmlGenericControl ct = new HtmlGenericControl(); ct.InnerHTML = Number.ToString(); txtID.Controls.Add(ct); 

pero los dos anteriores no parecen establecer el texto de la pantalla del cuadro de texto.

¿Alguien puede ayudarme a averiguar cómo lo hago? No puedo usar

  

EDITAR (CON RESPUESTA CORRECTA): La forma en que originalmente estaba tratando de hacer era correcta, es decir,

 txtID.Value = Number.ToString(); 

El culpable era Placeholder Plugin que se llamaba y borraba los valores del TextBox. Espero que esto ayude a muchas personas como yo que se quedan atrapadas en lugares tan tontos.

Puede cambiar el valor de control al inyectar Javascript en PageLoad o PageInit. Solo di que el método GetValueDummy() es tu método para calcular un valor y estás usando jQuery.

Necesita inyectar una página javascript en el controlador Page.Load.

 protected void Page_Load(object sender, EventArgs e) { var script = "$('#txt').val('" + GetValueDummy() + "');"; ClientScript.RegisterStartupScript(typeof(string), "textvaluesetter", script, true); } 

En este código, txt es id de tu entrada.

Si no está utilizando jQuery, simplemente reemplace el valor de la variable de script por

 var script = "document.getElementById('txt').value = '" + GetValueDummy() + "';"; 

Después de cierto punto, su página estará completamente renderizada y lista para enviarse al cliente. Entonces no puedes modificarlo directamente desde c #. Puede leer más sobre el tiempo de vida de la página aquí: http://msdn.microsoft.com/en-us/library/ms178472.aspx

Hacer esto:

  

El msdn afirma que lo siguiente funcionará:

  

si “no ayuda”, el problema podría no ser con el marcado.

Dale así:

  

Acceda de esta manera:

 string MyInput= myTextBox.Value; 

Perdón por la respuesta anterior:

Aquí está la Edición:

 this.Init += Page_Init; this.Load += Page_Load; protected void Page_Init(object sender, System.EventArgs e) { createControls(); } protected void Page_Load(object sender, System.EventArgs e) { if (IsPostBack) { setcontrolvalues(); } } private void createControls() { TextBox txt1 = new TextBox(); TextBox txt2 = new TextBox(); txt1.ID = "txt1"; txt1.EnableViewState = true; txt2.EnableViewState = true; txt2.ID = "txt2"; PlaceHolder1.Controls.Add(txt1); PlaceHolder1.Controls.Add(txt2); } private void setcontrolvalues() { TextBox txt1 = null; TextBox txt2 = null; txt1 = (TextBox)(PlaceHolder1.FindControl("txt1")); txt1.Text = "text1"; txt2 = (TextBox)(PlaceHolder1.FindControl("txt2")); txt2.Text = "text2";