Array
(
)

Problema com Textbox

Daniel
   - 07 mai 2010

Bom dia,

Sou iniciante em Asp.net, e estou fazendo um site em ASP.net com C#.
Posso estar fazendo besteira, mas não vai de jeito nenhum...
Tenho uma página com 3 textbox e um botão,
Quando a página carrega, os textbox são preenchidos com o banco de dados (MSSQL), até ai perfeito,
o problema é que se eu alterar o conteudo dos textbox (essa é a intenção) e clicar no botão (atualizar)
o evento não está pegando no novo valor digitado no textbox e sim o que foi preenchido inicialmente com os dados do banco de dados.

Podem achar estranho que usei 2 métodos para ler e atualizar o banco de dados, mas o problema não é esse,
o problema é justamente quando tento pegar o texto alterado dos textbox para atualizar... não aparece nenhum erro na tela, apenas ele está pegando o valor antigo =[

Abaixo segue código do .aspx

#Código


<%@ Page Title="Administração - Administrar Conteúdo"  Language="C#" MasterPageFile="~/adm/MasterPageAdmin.master" AutoEventWireup="true" CodeFile="alt_depoimentos.aspx.cs" Inherits="adm_alt_depoimentos" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">

           
            Texto:<br /><asp:TextBox ID="txttexto" MaxLength="300" Rows="5" TextMode="MultiLine"  Width="300px" runat="server" ></asp:TextBox>
            <br />
            Autor:<br /><asp:TextBox ID="txtautor" MaxLength="60" Width="300px" runat="server"></asp:TextBox>
            <br />
            Email:<br /><asp:TextBox ID="txtemail" MaxLength="50" Width="300px" runat="server"></asp:TextBox>
            <br />
          
      <asp:Button ID="bt_txt_atualizar" Text="Atualizar Campos" runat="server" onclick="bt_txt_atualizar_Click" />
        
     
    
<br /><br />

</asp:Content>



E agora o código do .cs

#Código

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.OleDb;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml;
using System.Data.SqlClient;
using System.Text;
using System.Threading;

   
public partial class adm_alt_depoimentos : System.Web.UI.Page
{

 public int vid;
    public string texto, autor, email;




    public void Page_Load(object sender, EventArgs e)
    {
        if (!Base.Logado())
            Response.Redirect("AcessoRestrito.aspx");

      

            string vparam = Request.QueryString["i"];
            vid = int.Parse(vparam);

            //////////////////////////

            // Define database connection

            OleDbConnection conn = new OleDbConnection("Provider=SQLOLEDB;Data Source=.\SQLEXPRESS;Initial Catalog=portal;Integrated Security=SSPI;");
            OleDbCommand comm = new OleDbCommand("SELECT * FROM POI2_depoimentos WHERE id=" + vid, conn);
            // Open connection
            conn.Open();
            // Execute the command
            
            OleDbDataReader reader = comm.ExecuteReader();

            while (reader.Read() == true)
            {
                texto = reader["texto"].ToString();
                autor = reader["autor"].ToString();
                email = reader["email"].ToString();
                
            }

            // Close the reader
            reader.Close();
            conn.Close();

            txttexto.Text = texto;
            txtautor.Text = autor;
            txtemail.Text = email;
       
    }



    public void bt_txt_atualizar_Click(object sender, EventArgs e)
    {
        {



            if ((txttexto.Text.Length <= 300) && (txttexto.Text != "") && (txtautor.Text != ""))
            {
                string var_texto = txttexto.Text.Replace(System.Environment.NewLine, "<br />");

                if (var_texto.Length <= 300)
                {
                    SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;Initial Catalog=portal;Trusted_Connection=True;");
                    SqlCommand comm = new SqlCommand("UPDATE POI2_depoimentos SET texto='" + var_texto + "', autor='" + txtautor.Text + "', email='" + txtemail.Text + "' WHERE id=" + vid, conn);
                    //
                    conn.Open();
                    comm.ExecuteScalar();
                    
                    //
                    conn.Close();
                    Response.Redirect("alt_depoimentos.aspx?i=" + vid);
                }
                else
                {
                    //mostrar erro
                }
            }
            else
            {
                //mostrar erro
            }

        }
    }
}



Obrigado e fico no aguardo

Daniel
   - 07 mai 2010

Já resolvi pessoas,

ficou faltando eu colocar no load da página:

#Código


if (!Page.IsPostBack)
{
....
}



Valeu

Nathan Aguiar
|
MVP
Pontos: 1005
    03 jun 2015

Valew.
Também estava com o mesmo problema hehe