Array
(
)

Inserir valor em textbox sem runat= server

Fabiovianna
   - 05 ago 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
#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();
                        }

Joel Rodrigues
   - 05 ago 2013

Aí você vai ter de usar JavaScript (jQuery para ser mais rápido).
Exemplo:
#Código

$("#meuCampo").val("Teste...");

Fabiovianna
   - 05 ago 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.

Joel Rodrigues
   - 05 ago 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.

Fabiovianna
   - 06 ago 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.

Gabrielsimas
   - 14 ago 2013


Citação:
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ê:

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

Forte Abraço.