Problema com Textbox

07/05/2010

0

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


<%@ 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



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

Daniel

Responder

Posts

07/05/2010

Daniel

Já resolvi pessoas,

ficou faltando eu colocar no load da página:


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




Valeu
Responder

03/06/2015

Nathan Aguiar

Valew.
Também estava com o mesmo problema hehe
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar