Usuário com melhor resposta
Adicionar valor ao imput apartir do lado servidor

Pergunta
-
USO VS2010, aspnet4, c# jquery
na minha página aspx lado cliente tenho um <input type="text" id="input1"/>
como faço a partir do lado servidor adicionar um valor ao input1, isto é no carregar da página o input1 aparecer com um valor, ex:
input1 = bancodedados.string;
Respostas
-
é a mesma coisa.
O TextBox quando é renderizado no browser ele é nada mais que um input type=text, ou seja, a mesma coisa. A unica diferença é que o TextBox é um elemento que pode ser controlado pelo servidor e você pode fazer o mesmo com um input qualquer, apenas colocando o atributo runat="server" no elemento que quer controlar pelo servidor.
Vale lembar que quando o elemento é renderizado pelo servidor, o seu id (clientID) será alterado. Dessa forma você não conseguira instacia-lo no javascript/jquery pelo seu id normal. Dessa forma, para ver qual id o servidor esta gerando para seu elemento basta abrir o código-fonte da página no browser e procurar pelo elemento e então verificar o id gerado para ele. Você conseguirá instancia-lo usando este id.
Este comportamento de mudança de id no cliente pode ser evitado pela propriedade ClientID dos elementos. Setando ela como static, impede que o servidor altere o id do elmento quando renderizado, evitando assim confusão. Porém está propriedade só está disponivel a partir do asp.net 3.0 se não me engano. Ainda sobre id, quando tiver utilizando masterpage, o servidor também alterará o id dos seus elementos.
- Marcado como Resposta Álvaro Luiz terça-feira, 21 de agosto de 2012 17:46
-
coloca runat="server" no input. Dessa forma você conseguirá pega-lo do lado do servidor pelo seu id e atribuir qualquer coisa.
- Marcado como Resposta Álvaro Luiz terça-feira, 21 de agosto de 2012 17:46
-
Você poderia usar assim
<asp:TextBox ID="input1" runat="server" ClientIDMode="Static" />
Pelo fato de você esta utilizando jquery seria bom utilizar a propriedade ClientIDMode como static
Bruno Viegas D. Ribeiro
- Marcado como Resposta Álvaro Luiz terça-feira, 21 de agosto de 2012 17:46
-
Você pode fazer desta maneira tucão, adicionando o atributo runat="server"
<input type="text" id="input1" runat="server"/>
E no servidor vc consegue acessar ele desta forma:
input1.Value = "teste";
Se a resposta foi útil por favor qualifique! Janderson Candido de Mattos - MCTS
- Marcado como Resposta Álvaro Luiz terça-feira, 21 de agosto de 2012 17:46
Todas as Respostas
-
coloca runat="server" no input. Dessa forma você conseguirá pega-lo do lado do servidor pelo seu id e atribuir qualquer coisa.
- Marcado como Resposta Álvaro Luiz terça-feira, 21 de agosto de 2012 17:46
-
Você poderia usar assim
<asp:TextBox ID="input1" runat="server" ClientIDMode="Static" />
Pelo fato de você esta utilizando jquery seria bom utilizar a propriedade ClientIDMode como static
Bruno Viegas D. Ribeiro
- Marcado como Resposta Álvaro Luiz terça-feira, 21 de agosto de 2012 17:46
-
-
é a mesma coisa.
O TextBox quando é renderizado no browser ele é nada mais que um input type=text, ou seja, a mesma coisa. A unica diferença é que o TextBox é um elemento que pode ser controlado pelo servidor e você pode fazer o mesmo com um input qualquer, apenas colocando o atributo runat="server" no elemento que quer controlar pelo servidor.
Vale lembar que quando o elemento é renderizado pelo servidor, o seu id (clientID) será alterado. Dessa forma você não conseguira instacia-lo no javascript/jquery pelo seu id normal. Dessa forma, para ver qual id o servidor esta gerando para seu elemento basta abrir o código-fonte da página no browser e procurar pelo elemento e então verificar o id gerado para ele. Você conseguirá instancia-lo usando este id.
Este comportamento de mudança de id no cliente pode ser evitado pela propriedade ClientID dos elementos. Setando ela como static, impede que o servidor altere o id do elmento quando renderizado, evitando assim confusão. Porém está propriedade só está disponivel a partir do asp.net 3.0 se não me engano. Ainda sobre id, quando tiver utilizando masterpage, o servidor também alterará o id dos seus elementos.
- Marcado como Resposta Álvaro Luiz terça-feira, 21 de agosto de 2012 17:46
-
Você pode fazer desta maneira tucão, adicionando o atributo runat="server"
<input type="text" id="input1" runat="server"/>
E no servidor vc consegue acessar ele desta forma:
input1.Value = "teste";
Se a resposta foi útil por favor qualifique! Janderson Candido de Mattos - MCTS
- Marcado como Resposta Álvaro Luiz terça-feira, 21 de agosto de 2012 17:46