Inserir valor em textbox sem runat= server

.NET

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();
                        }
Fabio Vianna

Fabio Vianna

Curtidas 0

Respostas

Joel Rodrigues

Joel Rodrigues

05/08/2013

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

Fabio Vianna

05/08/2013

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.
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

05/08/2013

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.
GOSTEI 0
Fabio Vianna

Fabio Vianna

05/08/2013

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.
GOSTEI 0
Gabriel Simas

Gabriel Simas

05/08/2013

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.
GOSTEI 0
POSTAR