none
Adicionar valor ao imput apartir do lado servidor RRS feed

  • 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;

    terça-feira, 21 de agosto de 2012 12:41

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
    terça-feira, 21 de agosto de 2012 13:22
  • 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
    terça-feira, 21 de agosto de 2012 12:44
  • 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
    terça-feira, 21 de agosto de 2012 12:50
  • 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
    terça-feira, 21 de agosto de 2012 16:18

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
    terça-feira, 21 de agosto de 2012 12:44
  • 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
    terça-feira, 21 de agosto de 2012 12:50
  • Estou usando jquery com componentes do tipo datapicker... que trabalham com <input type="text" id="input1"/>

    usando TextBox eu sei fazer, mas existe alguma maneira de fazer com <input>

    terça-feira, 21 de agosto de 2012 13:01
  • é 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
    terça-feira, 21 de agosto de 2012 13:22
  • 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
    terça-feira, 21 de agosto de 2012 16:18