Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ted k'

[Resolvido] Formulário de Edição só aceita Request.Form[] e não c

Recommended Posts

Galera está me acontecendo essa lance aqui:

 

Tenho um formulário em .net com os campos: nome, email....

 

estou usando classes, usando assim na página default.aspx

<%@ Page Language="C#" AutoEventWireup="True" CodeFile="class/Usuarios.aspx.cs" Inherits="Usuario" %>

e o formulário está logo abaixo

 

na pagina Usuarios.aspx.cs

tenho isso:

using System;
using System.Data;
using System.Data.Odbc;
using System.Configuration;
using System.Web.UI.WebControls;
using FuncoesGerais;

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

	// Criando objetos de Funções.
	Funcoes fn = new Funcoes();
	public string sql;
	
	// Inserir Usuários no Banco.
	public void InserirUsuario(object sender, System.EventArgs e){	
		string var_nome 	= fn.tratarCaracter(nome.Text);
		string var_empresa 	= fn.tratarCaracter(empresa.Text);
		string var_email 	= fn.tratarCaracter(email.Text);
		string var_telefone = fn.tratarCaracter(telefone.Text);
		string var_celular 	= fn.tratarCaracter(celular.Text);
		string var_login 	= fn.tratarCaracter(login.Text);
		string var_senha 	= fn.tratarCaracter(senha.Text);
		string var_nivel	= nivel.Text;
		string var_status	= status.Text;
		
		try {
			sql = "INSERT INTO usuarios (nome, empresa, email, telefone, celular, login, senha, nivel, status, data_cadastro, hora_cadastro, usuario_master, empreendimento) VALUES ('"+var_nome+"', '"+var_empresa+"', '"+var_email+"', '"+var_telefone+"', '"+var_celular+"', '"+var_login+"', '"+var_senha+"', '"+var_nivel+"', '"+var_status+"', '"+fn.formatDate(DateTime.Now)+"', '"+fn.formatTime(DateTime.Now)+"', '0', '"+Convert.ToString(Session["empreendimento"])+"')";
			OdbcConnection conn = new OdbcConnection(fn.parteConexao());
			OdbcCommand comando = new OdbcCommand(sql, conn);
			conn.Open();
			comando.ExecuteNonQuery();
			
			LimparCampos();
			respostaOk.Text = fn.respostaAmarela("Dados Inseridos com Sucesso!");
			conn.Close();
		}
		catch {
			mensagensErro.Text = "* Ocorreu um Erro em Inserir Usuários";
		}
	}
	
	public void EditarUsuarios(object sender, System.EventArgs e){
		string var_nome 	= fn.tratarCaracter(nome.Text);
		string var_empresa 	= fn.tratarCaracter(empresa.Text);
		string var_email 	= fn.tratarCaracter(email.Text);
		string var_telefone = fn.tratarCaracter(telefone.Text);
		string var_celular 	= fn.tratarCaracter(celular.Text);
		string var_login 	= fn.tratarCaracter(login.Text);
		string var_senha 	= fn.tratarCaracter(senha.Text);
		string var_nivel	= nivel.Text;
		string var_status	= status.Text;
		string sql_senha;
		
		try {
			if (var_senha == "") {
				sql_senha = "";	
			}
			else {
				sql_senha = ", senha = '"+var_senha+"'";
			}
			
			sql = "UPDATE usuarios SET nome = '"+var_nome+"', empresa = '"+var_empresa+"', email = '"+var_email+"', telefone = '"+var_telefone+"', celular = '"+var_celular+"', login = '"+var_login+"', nivel = '"+var_nivel+"', status = '"+var_status+"' "+sql_senha+" WHERE codigo = '"+Convert.ToString(Request.QueryString["Id"])+"'";
			OdbcConnection conn = new OdbcConnection(fn.parteConexao());
			OdbcCommand comando = new OdbcCommand(sql, conn);
			conn.Open();
			comando.ExecuteNonQuery();
			
			respostaOk.Text = fn.respostaAmarela("Dados Editados com Sucesso "+var_nome+"!");
			conn.Close();
		}
		catch {
			mensagensErro.Text = "* Ocorreu um Erro ao Editar o Usuário";
		}
	}

}

O inserir cadastra tranquilamente, só que o editar não cadastra, mais se eu trocar de:

string var_nome = fn.tratarCaracter(nome.Text);

 

para

string var_nome = fn.tratarCaracter(Request.Form["nome"]);

 

na função EDITAR, ele funciona, pq isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O textbox está dentro de algum outro componente?

Coloque seu aspx aqui.

 

Faça um debug e veja qual o conteúdo da variavel "nome", se o conteudo está correto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o textbox está dentro do

<form runat="server">

segue o formulário:

<%@ Page Language="C#" AutoEventWireup="True" CodeFile="class/Usuarios.aspx.cs" Inherits="Usuario" %>
<%@ Assembly Src="../class/Funcoes.cs" %>
<form runat="server">
<table width="437" border="0" align="center" cellpadding="0" cellspacing="1">
<tr>
  <td height="20" align="left" class="classFonte06"> </td>
  <td colspan="3" align="left">
  <asp:RequiredFieldValidator ID="reqNome" Display="Dynamic" runat="server" />
  <asp:RegularExpressionValidator ID="regemail" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" Display="Dynamic" runat="server" />
  <asp:CompareValidator ID="compareSenha" Display="Dynamic" Type="String" Operator="Equal" runat="server"/>
  <asp:Label ID="mensagensErro" CssClass="classFonte09" runat="server" />
  </td>
</tr>
<asp:Literal ID="respostaOk" runat="server" />
<tr>
  <td width="98" height="22" align="left" class="classFonte06">Nome:</td>
  <td colspan="3" align="left"><asp:TextBox ID="nome" Columns="53" MaxLength="40" CssClass="classCampos01" runat="server" /> <strong class="classFonte09">*</strong></td>
</tr>
<tr>
  <td height="22" align="left" class="classFonte06">Empresa:</td>
  <td colspan="3" align="left"><asp:TextBox ID="empresa" Columns="53" MaxLength="60" CssClass="classCampos01" runat="server" /></td>
</tr>
<tr>
  <td height="22" align="left" class="classFonte06">E-Mail:</td>
  <td colspan="3" align="left"><asp:TextBox ID="email" Columns="53" MaxLength="100" CssClass="classCampos01" runat="server" /><asp:RegularExpressionValidator ID="regemailAst" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" Display="Dynamic" runat="server" /></td>
</tr>
<tr>
  <td height="22" align="left" class="classFonte06">Telefone:</td>
  <td width="153" align="left"><asp:TextBox ID="telefone" Columns="15" MaxLength="20" CssClass="classCampos01" runat="server" /></td>
  <td width="37" align="left" class="classFonte06">Celular:</td>
  <td width="144" align="left"><asp:TextBox ID="celular" Columns="15" MaxLength="20" CssClass="classCampos01" runat="server" /></td>
</tr>
<tr>
  <td height="22" align="left" class="classFonte06">Login:</td>
  <td colspan="3" align="left"><asp:TextBox ID="login" Columns="25" MaxLength="8" CssClass="classCampos01" runat="server" /></td>
</tr>
<tr>
  <td height="22" align="left" class="classFonte06">Senha:</td>
  <td colspan="3" align="left"><asp:TextBox ID="senha" TextMode="Password" Columns="25" MaxLength="8" CssClass="classCampos01" runat="server" /></td>
</tr>
<tr>
  <td height="22" align="left" class="classFonte06">Confirme Senha:</td>
  <td colspan="3" align="left"><asp:TextBox ID="confirme_senha" TextMode="Password" Columns="25" MaxLength="8" CssClass="classCampos01" runat="server" /></td>
</tr>
<tr>
  <td height="22" align="left" class="classFonte06">Nível:</td>
  <td colspan="3" align="left"><asp:ListBox ID="nivel" Rows="1" CssClass="classCampos01" runat="server"></asp:ListBox></td>
</tr>
<tr>
  <td height="22" align="left" class="classFonte06">Status:</td>
  <td colspan="3" align="left" valign="bottom"><asp:ListBox ID="status" Rows="1" CssClass="classCampos01" runat="server"></asp:ListBox></td>
</tr>
<tr>
  <td height="40" align="left" class="classFonte06"> </td>
  <td colspan="3" align="left" valign="bottom"><%
  if (Convert.ToString(Request.QueryString["Id"]) == "" || Convert.ToString(Request.QueryString["Id"]) == null){
  %><asp:ImageButton id="btImagem" ImageUrl="../images/BtSalvar.gif" OnClick="InserirUsuario" runat="server" /><%
  }
  else {
  %><asp:ImageButton id="btImagemEditar" ImageUrl="../images/BtSalvar.gif" OnClick="EditarUsuarios" runat="server" /><%
  }
  %> <asp:ImageButton id="btImagemLimpar" ImageUrl="../images/BtCancelar.gif" OnClick="BtCancelarUsuarios" runat="server" /></td>
</tr>
<tr>
  <td colspan="4" align="left" class="classFonte06"> </td>
  </tr>
</table>
</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.