DotNetToscana
User Group Toscano su .NET

controllo se e stato modificato un textbox

rated by 0 users
Answered (Not Verified) This post has 0 verified answers | 5 Replies | 2 Followers

Top 10 Contributor
Male
69 Posts
luigi posted on 06-13-2009 18.52

Salve, volevo sapere come faccio ad fare un controllo se e stato modificato un textbox,

In poche parole se io lascio intatto quello che c'è scritto dentro la textbox , lui non controllo i dopioni,

ma se io cambio qualcosa allora verifica se c'è già nel db e da errore.

 

vi posto il codice:

<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" validateRequest="false" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.Odbc" %>
<%@ Import Namespace="System.Configuration" %>

<script runat="server">
    String connectionString = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString;

    Funzioni ut = new Funzioni();
   
    private void popola()
    {

        try
        {

            OdbcConnection objConn = new OdbcConnection(connectionString);
            string sSQL = "SELECT * FROM users WHERE UsersId=?";
            objConn.Open();
           
            OdbcCommand objCommand = new OdbcCommand(sSQL, objConn);
            objCommand.Parameters.AddWithValue("?", Session["UserId"]);

            OdbcDataReader rdr = objCommand.ExecuteReader();

            if (rdr.Read())
            {

                    txtUsername.Text = rdr["_username"].ToString();
                    txtEmail.Text = rdr["_email"].ToString();
                    ddNL.SelectedValue = rdr["nl"].ToString();
            }
            rdr.Close();
            objConn.Close();
        }
        catch (Exception ex)
        {
            lblMsg.Text = "" + ex.ToString() + "";
        }
    }

    public bool isNickEmailInUso(string Email)
    {
        OdbcConnection conn = new OdbcConnection(connectionString);
        OdbcCommand checkUser = new OdbcCommand("SELECT COUNT(*) FROM users WHERE _email=?", conn);
        conn.Open();
        checkUser.Parameters.AddWithValue("?", Email);
        int rows = Convert.ToInt32(checkUser.ExecuteScalar());
        conn.Close();
        checkUser.Dispose();
        return (rows > 0);
    }
    protected void btnEdit_Click(object sender, EventArgs e)
    {

      
            try
            {
                OdbcConnection objConn = new OdbcConnection(connectionString);
                string nickemail = txtEmail.Text;


                if (isNickEmailInUso(nickemail) == true)
                {
                    // Imposto la visualizzazione dell'errore che il nickname è già in uso
                    lblMsg.Text = "Email esistente";
                }
                else
                {
                    string sSQL = "UPDATE  users set _username=?,";
                    sSQL = sSQL + "_email=?,";
                    sSQL = sSQL + "nl=?";
                    sSQL = sSQL + "WHERE UsersId=?";
                    objConn.Open();
                    OdbcCommand cmd = new OdbcCommand(sSQL, objConn);
                    cmd.Parameters.AddWithValue("?", txtUsername.Text);
                    cmd.Parameters.AddWithValue("?", txtEmail.Text);
                    cmd.Parameters.AddWithValue("?", ddNL.SelectedItem.Text);
                    cmd.Parameters.AddWithValue("?", "" + Session["UserId"] + "");
                    cmd.ExecuteNonQuery();
                    objConn.Close();
                }
            }
            catch (System.Exception exc)
            {
                lblMsg.Text = "" + exc.ToString() + "";
            }
        }
  

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
            if (Session["UserLogged"] == null)
            {
                Panel1.Visible = false;
                Label1.Text = "Non sei autenticato";
            }
            else
            {
                Panel1.Visible = true;
                popola();
            }
           
    }


 
</script>

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

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

<table width="100%" border="0">
  <tr align="center">
    <td width="25%">&nbsp;</td>
    <td style="width:52%;">
        <asp:Label ID="lblMsg" runat="server"></asp:Label>
      </td>
    <td width="75%">&nbsp;</td>
  </tr>
  <tr>
    <td>Username</td>
    <td style="width:52%;">  
        <asp:TextBox ID="txtUsername" runat="server" ReadOnly="True" Width="499px"></asp:TextBox>
      </td>
    <td>&nbsp;</td>
  </tr>
    <tr>
        <td width="25%">
            Email</td>
        <td style="width:52%;">
            <asp:TextBox ID="txtEmail" runat="server" ReadOnly="True" Width="499px"></asp:TextBox>
        </td>
        <td width="75%">
            &nbsp;</td>
    </tr>
  <tr>
    <td>NewsLetter</td>
    <td style="width:52%;">  
        <asp:RadioButtonList ID="ddNL" runat="server">
            <asp:ListItem>N</asp:ListItem>
            <asp:ListItem>Y</asp:ListItem>
        </asp:RadioButtonList>
      </td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td style="width:52%;">
     <asp:Button ID="btnEdit" runat="server" Text="Modifica"
        onclick="btnEdit_Click" ValidationGroup="All" style="height: 26px" /></td>
    <td> &nbsp;</td>
  </tr>
  </table>
   </asp:Panel>    </asp:Content>

All Replies

Top 10 Contributor
Male
69 Posts

nessuno?

Top 10 Contributor
Male
60 Posts

Ciao Luigi,

l'evento TextChanged esposto dal controllo TextBox ti può tornare utile:

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.textbox.textchanged.aspx

Top 10 Contributor
Male
69 Posts

è come si usa?.

 

mi protesti farmi un esempio?.

 

grazie mille.

 

ciao.

 

Top 10 Contributor
Male
69 Posts

dico l'esempio con  il mio codice per favore...

grazie.

ciao.

Top 10 Contributor
Male
297 Posts

Ciao!

Nel link che ti ha indicato Matteo trovi anche un esempio di utilizzo. Prova a partire da lì...

Page 1 of 1 (6 items) | RSS
Powered by Community Server (Commercial Edition), by Telligent Systems