Inserir valor em textbox sem runat= server

05/08/2013

boa tarde, estou fazendo uma função para quando a pessoa colocar 1 valor, ele gere com innerhtml os textbox.

porém na hora de editar gostaria que se a pessoa colocasse + ou - campos viessem os valores colocados anteriormente.

como faço pra setar valor sem o runat="server" ja que ele não enxega pois é dinâmico.

abs.

segue o código
for (int i = 1; i <= Curso.QuantidadeApresentacao; i++)
                        {

                            StringBuilder str = new StringBuilder();
                            str.Append("<ul class='ulCadastro'>");
                            str.Append("<li>");
                            str.Append("Dia " + i + ": <input type='text' class='data' ID='txtDia" + i + "' width='20' name='txtDia" + i + "' runat='server'>");
                            str.Append("</li>");
                            str.Append("<li>");
                            str.Append("Horário " + i + ": <input type='text' class='horario' ID='txtHorario" + i + "' width='20' name='txtHorario" + i + "' runat='server'>");
                            str.Append("</li>");
                            str.Append("</ul>");


                            addCampos.InnerHtml += str.ToString();
                        }

Fabiovianna

Respostas

05/08/2013

Joel Rodrigues

Aí você vai ter de usar JavaScript (jQuery para ser mais rápido).
Exemplo:
$("#meuCampo").val("Teste...");
Responder Citar

05/08/2013

Fabiovianna

mas eu queria conseguir fazer pelo próprio code behind....

até pensei em fazer um javascript por ele... mas axei que teria uma forma melhor de se fazer.
Responder Citar

05/08/2013

Joel Rodrigues

Bom, aí seria meio estranho. Se você vai acessar pelo code behind, por que não marcar com runat=server? Já que vai ter processamento server-side mesmo.
Você pode tentar executar o código JavaScript usando RegisterClientScriptBlock, mas aí só tentando pra saber se dá certo.
Responder Citar

06/08/2013

Fabiovianna

mas ai q ta.... qnd ele entra na pagina ele monta com innerhtml... mesmo colocando runat server o codebehind não entende que existe um campo na tela.

se a pessoa na edição não pudesse trocar a quantidade era tranquilo...pq ai já montaria o innerhtml atribuindo o value...

mas como ela pode mudar... pensei em montar a tela primeiro... e depois atribuir os valores.
Responder Citar

14/08/2013

Gabrielsimas

mas ai q ta.... qnd ele entra na pagina ele monta com innerhtml... mesmo colocando runat server o codebehind não entende que existe um campo na tela. se a pessoa na edição não pudesse trocar a quantidade era tranquilo...pq ai já montaria o innerhtml atribuindo o value... mas como ela pode mudar... pensei em montar a tela primeiro... e depois atribuir os valores.


Fabio,

Diante disto, você vai precisar acessar a Classe que criar o textBox utilizando a Classe TextBox, segue um link que pode ser bastante útil a você:

[url]http://www.aspsnippets.com/articles/creating-dynamic-textbox-controls-in-asp.net.aspx[/url]

Forte Abraço.
Responder Citar