Ir para conteúdo
Fórum Script Brasil
  • 0

Indexar valores em TextBox


Alcaide

Pergunta

Amigos, bom dia!

Estou com uma dúvida ao montar uma string, é o seguinte:

Tenho 100 TextBox em um form, e todos numerados de 1 a 100 e quero fazer um insert no meu banco da seguinte forma:

For I = 0 To 100

Insere = "INSERT into CCRGAB (GABQUEST, GABQUESTRES, GABTIPPROVA, GABTITPROVA)"

Insere = Insere + "Values ('" & I & "', '" & Txt(i).text & "', '" & CmbNumProva.Text & "', '" & TxtTitulo.Text & "') "

next i

Bom, explicando melhor...

Quero pegar assim:

Se o I ta no 1 eu vou pegar a txt1.text

Se o I ta no 2 eu vou pegar a txt2.text

e assim sucessivamente !

Tentei fazer indexando txt(i).text mas não rola dessa forma hehehe... e não conheço outra forma!

Poderiam me ajudar nesta por favor ???

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
Amigos, bom dia!

Estou com uma dúvida ao montar uma string, é o seguinte:

Tenho 100 TextBox em um form, e todos numerados de 1 a 100 e quero fazer um insert no meu banco da seguinte forma:

For I = 0 To 100

Insere = "INSERT into CCRGAB (GABQUEST, GABQUESTRES, GABTIPPROVA, GABTITPROVA)"

Insere = Insere + "Values ('" & I & "', '" & Txt(i).text & "', '" & CmbNumProva.Text & "', '" & TxtTitulo.Text & "') "

next i

Bom, explicando melhor...

Quero pegar assim:

Se o I ta no 1 eu vou pegar a txt1.text

Se o I ta no 2 eu vou pegar a txt2.text

e assim sucessivamente !

Tentei fazer indexando txt(i).text mas não rola dessa forma hehehe... e não conheço outra forma!

Poderiam me ajudar nesta por favor ???

Uma forma de acessar dinamicamente um campo texto, é utilizando o metodo findcontrol

No exemplo abaixo os campos textos estão definidos diretamente no Form (página) se seus textos estiverem em algum outro container, tem que procurar no container especifico.

protected void Button1_Click(object sender, EventArgs e)
    {
        // Crio uma variavel textoatual do tipo TEXTBOX e procuro no (container) form o campo: TextBox + i
        // e ao encontrar o campo retorno também um TEXTBOX
        Label1.Text = "";
        for (int i = 1; i < 3; i++)
        {
            TextBox textoatual = this.Form.FindControl("TextBox" + i.ToString()) as TextBox;
            if (textoatual.Text  != null)
            {
                Label1.Text  = Label1.Text.ToString() + textoatual.Text.ToString();
            }
        }

    }
No Exemplo acima criei duas textbox com nomes padroes TextBox1 e TextBox2 juntei as duas e mostrei no Label1. segue abaixo se você quiser testar, a página que utilizei, e o código completo da página:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[url=http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd]http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd[/url]">

<html xmlns="[url=http://www.w3.org/1999/xhtml]http://www.w3.org/1999/xhtml[/url]">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:TextBox ID="TextBox2"
            runat="server"></asp:TextBox>
<asp:button ID="Button1" runat="server" text="Button" onclick="Button1_Click" />
    </div>
    <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
    </form>
</body>
</html>
código em c#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        // Crio uma variavel textoatual do tipo TEXTBOX e procuro no (container) form o campo: TextBox + i
        // e ao encontrar o campo retorno também um TEXTBOX
        Label1.Text = "";
        for (int i = 1; i < 3; i++)
        {
            TextBox textoatual = this.Form.FindControl("TextBox" + i.ToString()) as TextBox;
            if (textoatual.Text  != null)
            {
                Label1.Text  = Label1.Text.ToString() + textoatual.Text.ToString();
            }
        }

    }
}

Sds

Messias Vilalta

Editado por kuroi
Adicionar tag CODE
Link para o comentário
Compartilhar em outros sites

  • 0
Amigos, bom dia!

Estou com uma dúvida ao montar uma string, é o seguinte:

Tenho 100 TextBox em um form, e todos numerados de 1 a 100 e quero fazer um insert no meu banco da seguinte forma:

For I = 0 To 100

Insere = "INSERT into CCRGAB (GABQUEST, GABQUESTRES, GABTIPPROVA, GABTITPROVA)"

Insere = Insere + "Values ('" & I & "', '" & Txt(i).text & "', '" & CmbNumProva.Text & "', '" & TxtTitulo.Text & "') "

next i

Bom, explicando melhor...

Quero pegar assim:

Se o I ta no 1 eu vou pegar a txt1.text

Se o I ta no 2 eu vou pegar a txt2.text

e assim sucessivamente !

Tentei fazer indexando txt(i).text mas não rola dessa forma hehehe... e não conheço outra forma!

Poderiam me ajudar nesta por favor ???

Uma forma de acessar dinamicamente um campo texto, é utilizando o metodo findcontrol

No exemplo abaixo os campos textos estão definidos diretamente no Form (página) se seus textos estiverem em algum outro container, tem que procurar no container especifico.

protected void Button1_Click(object sender, EventArgs e)

{

// Crio uma variavel textoatual do tipo TEXTBOX e procuro no (container) form o campo: TextBox + i

// e ao encontrar o campo retorno também um TEXTBOX

Label1.Text = "";

for (int i = 1; i < 3; i++)

{

TextBox textoatual = this.Form.FindControl("TextBox" + i.ToString()) as TextBox;

if (textoatual.Text != null)

{

Label1.Text = Label1.Text.ToString() + textoatual.Text.ToString();

}

}

}

No Exemplo acima criei duas textbox com nomes padroes TextBox1 e TextBox2

juntei as duas e mostrei no Label1.

segue abaixo se você quiser testar, a página que utilizei, e o código completo da página:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

<title></title>

</head>

<body>

<form id="form1" runat="server">

<div>

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

<asp:TextBox ID="TextBox2"

runat="server"></asp:TextBox>

<asp:button ID="Button1" runat="server" text="Button" onclick="Button1_Click" />

</div>

<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>

</form>

</body>

</html>

código em c#

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

}

protected void Button1_Click(object sender, EventArgs e)

{

// Crio uma variavel textoatual do tipo TEXTBOX e procuro no (container) form o campo: TextBox + i

// e ao encontrar o campo retorno também um TEXTBOX

Label1.Text = "";

for (int i = 1; i < 3; i++)

{

TextBox textoatual = this.Form.FindControl("TextBox" + i.ToString()) as TextBox;

if (textoatual.Text != null)

{

Label1.Text = Label1.Text.ToString() + textoatual.Text.ToString();

}

}

}

}

Sds

Messias Vilalta

Messias, boa noite!

Muito obrigado pela sua ajuda, mas acabei resolvendo de uma forma não muito "correta", a famosa "gambiarra" hehehehe

Fiz o seguinte:

select case I

case 1

Auxiliar = Txt1.text

case 2 = Txt2.text

e assim foi ...

Mas, mesmo assim te agradeço !

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...