Ir para conteúdo

POWERED BY:

Arquivado

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

Veronica Gravina

The name 'DropDownList1' does not exist in the current contex

Recommended Posts

Gente, eu nao estou conseguindo resolver este problema desde quinta-feira!!!!!!!

Ele NAO consegue inserir os dados no Banco de dados e cai no catch toda vez que eu dou um submit no formulario.

Entato, no Visual Studio ele diz que 'DropDownList1' does not exist in the current context' e The name 'DropDownList2' does not exist in the current context, mas estou conseguindo resgatar os dados que eu selecionei no dropdownlist, oque eu nao estou conseguindo resgatar é o txt_mensagem que eu digito.

 

 

Alguem pode ajudar?Nao consigo ver aonde estou errando!!!!!

 

 

 

 

 

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Collections;
using System.Configuration;
using System.Web.Security;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml.Linq;
using System.Web.DynamicData;
using EnvioCLP;
using System.Net.Mail;
using System.Web.Mail;

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



   protected void Page_Load(object sender, EventArgs e)
   {


   }

   // Sends the Email and Stores into the database
   /// </summary>
   public void btnSubmit_Click(object sender, EventArgs e)
   {

       String txtModem = DropDownList1.SelectedValue.ToString();
       String txtTime = DropDownList2.SelectedValue.ToString();
       String Mensagem = Request.QueryString["txt_mensagem"];
       String txtEmail = "veronikka@ariasat.net";

       //definição da string de conexão
       SqlConnection conn = new SqlConnection(@"Data Source=192.168.100.8;User ID=sa;Password=123456");
       //definição do comando sql
       string sql = "INSERT INTO mensagens(fk_modem_st, fk_time_st, fk_mensagem, data) VALUES (@fk_modem_st, @fk_time_st, @fk_mensagem, @data)";


       try
       {

           //Cria uma objeto do tipo comando passando como parametro a string sql e a string de conexão
           SqlCommand comando = new SqlCommand(sql, conn);
           //Adicionando o valor das textBox nos parametros do comando
           comando.Parameters.Add(new SqlParameter("@fk_modem_st", txtModem));
           comando.Parameters.Add(new SqlParameter("@fk_time_st", txtTime));
           comando.Parameters.Add(new SqlParameter("@fk_mensagem", Mensagem));
           comando.Parameters.Add(new SqlParameter("@data", DateTime.Now));
           //abre a conexao
           conn.Open();
           //executa o comando com os parametros que foram adicionados acima
           comando.ExecuteNonQuery();
           //fecha a conexao
           conn.Close();
           //Abaixo temos a ultlização de javascript para apresentar ao usuário um alert
           // referente ao msgbox
           Response.Write("<script>alert('Sua Mensagem foi enviada com sucesso" + txtModem + "'); </script>");
       }
       catch
       {

           Response.Write("<script>alert('Ocorreu um erro ao enviar sua mensagem.\\n " + txtModem + "'); </script>");
       }
       finally
       {
           conn.Close();
       }


     }

}

 

 

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
   CodeFile="Default.aspx.cs" Inherits="_Default" EnableSessionState="True"  %>

<%@ Import Namespace="System.Data.SqlClient" %>

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>


<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
   <h2>
       Envio de comandos para clp</h2>

 <table>
    <form id="frmEnviaCLP"  method=post >

   <tr>
     <td class="style1"><p>Teleseed:</td>
        <td class="style2">
      <asp:DropDownList ID="DropDownList1" runat="server" 
       DataSourceID="txtModem" DataTextField="nome" DataValueField="nome">
       </asp:DropDownList>
      <asp:SqlDataSource ID="txtModem" runat="server" 
      ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="SELECT [id]
     ,[nome]
     ,[address]
     ,[fk_time]
 FROM [CLP].[dbo].[Modem_St]"></asp:SqlDataSource>

       </td>
      </tr>

    <tr>
      <td class="style1">Tempo de Espera</td>
      <td class="style2">
      <asp:DropDownList ID="DropDownList2" runat="server" 
              DataSourceID="txtTime" DataTextField="valor" DataValueField="valor_time">
          </asp:DropDownList>
          <asp:SqlDataSource ID="txtTime" runat="server" 
              ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
              SelectCommand="SELECT id_time, valor_time, valor FROM CLP.dbo.Time_St">
          </asp:SqlDataSource>
       </td>
     </tr>

   <tr>
   <td class="style1">Mensagem:</td>
   <td class="style2"><asp:TextBox ID="txt_mensagem" runat="server" Height="120px" 
           Width="196px"></asp:TextBox></td>
   </tr>


   <tr>
   <td class="style1">
    <asp:Button ID="btnSubmit" OnClick="btnSubmit_Click" CssClass="button" Text="Enviar" UseSubmitBehavior="true" runat="server" />
   </td>
   </tr>

   </form>
 </table>    
</asp:Content>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Veronica,

 

Pelo que vi parece que esta tudo certo, pode fazer o seguinte cria uma nova pagina na aplicação e e coloca seu código nela copia os métodos um por um acredito que vai funcionar.

É que pelo que percebi parece que o arquivo .designer não foi atualizado e essa é uma forma mais segura de atualiza-lo.

 

 

Alessandro Gonzalez

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, primeiro pelo que vi do código sua pagina default herda uma MasterPage que provavelmente ela já possui uma tag Form Certo?

Em aplicações webforms só deve existir uma única tag Form. e nessa sua pagina default está com outra tag.

Segundo, se for uma WebApplication o código só funciona após um Build.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha eu ja tentei criar outra pagina e também nao deu certo!

A minha aplicaçao é uma webApplication sim, mas mesmo tirando o form da _default ela nao funciona, alias build e debug ja foram testados milhares de vezes...

Segue persistindo no mesmo erro :

 

Error	1	'string' does not contain a definition for 'SelectedValue' and no extension method 'SelectedValue' accepting a first argument of type 'string' could be found (are you missing a using directive or an assembly reference?)	C:\Documents and Settings\Telefonic\Desktop\Teste\EnvioCLP\EnvioCLP\Default.aspx.cs	37	29	EnvioCLP

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao esta null nao, ele popula exatamente os dois dropdowns com seus repectivos valores das tabelas que eu criei no SQLSERVER e ainda no alert eu consigo passar o valor do dropdown1 e dropdown2 e aparece exatamente oque eu escolhi... por isto eu nao entendo!

Nao consigo é resgatar o valor do txt_mensagem com o Request.QueryString.

 

 

As linhas que estao dando erro sao as mesmas que eu enviei acima:

 

  
linha 37   txtModem = DropDownList1.SelectedValue.ToString();
linha 38   txtTime = DropDownList2.SelectedValue.ToString();


Error	1	The name 'DropDownList1' does not exist in the current context	C:\Documents and Settings\Telefonic\Desktop\Teste\EnvioCLP\EnvioCLP\Default.aspx.cs	37	20	EnvioCLP


Error	2	The name 'DropDownList2' does not exist in the current context	C:\Documents and Settings\Telefonic\Desktop\Teste\EnvioCLP\EnvioCLP\Default.aspx.cs	38	19	EnvioCLP

Compartilhar este post


Link para o post
Compartilhar em outros sites

O String Mensagem deve receber o valor informado no textbox <asp:TextBox ID="txt_mensagem" runat="server" Height="120px" Width="196px"></asp:TextBox>?

Se sim mude de:

String Mensagem = Request.QueryString["txt_mensagem"];

para:

String Mensagem = txt_mensagem.Text;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acontece que ele nao esta registrando os dados no banco de dados, nao sei oque acontece.

Ja tentei mudar os parametros e nao aconteceu nada.

 

Aqui está o código :

 

 

using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

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

       }

       protected void btnSubmit_Click(object sender, EventArgs e)
       {
           String ddl1;
           String ddl2;
           ddl1 = DropDownList1.SelectedValue.ToString();
           ddl2 = DropDownList2.SelectedValue.ToString();
           String txtMsg = Request.QueryString["txt_mensagem"];
           String txtEmail = "veronikka@ariasat.net";

           //definição da string de conexão
           SqlConnection conn = new SqlConnection(@"Data Source=192.168.100.8;User ID=sa;Password=123456");
           //definição do comando sql
           string sql = "INSERT INTO mensagens(fk_modem_st, fk_time_st, fk_mensagem, data) VALUES (@fk_modem_st, @fk_time_st, @fk_mensagem, @data)";


           try
           {

               //Cria uma objeto do tipo comando passando como parametro a string sql e a string de conexão
               SqlCommand comando = new SqlCommand(sql, conn);
               //Adicionando o valor das textBox nos parametros do comando
               comando.Parameters.Add(new SqlParameter("@fk_modem_st", ddl1));
               comando.Parameters.Add(new SqlParameter("@fk_time_st", ddl2));
               comando.Parameters.Add(new SqlParameter("@fk_mensagem", txtMsg));
               comando.Parameters.Add(new SqlParameter("@data", DateTime.Now));
               //abre a conexao
               conn.Open();
               //executa o comando com os parametros que foram adicionados acima
               comando.ExecuteNonQuery();
               //fecha a conexao
               conn.Close();
               //Abaixo temos a ultlização de javascript para apresentar ao usuário um alert
               // referente ao msgbox
               Response.Write("<script>alert('Sua Mensagem foi enviada com sucesso" + txt_mensagem + "'); </script>");
           }
           catch
           {

               Response.Write("<script>alert('Ocorreu um erro ao enviar sua mensagem.\\n " + sql + "'); </script>");
           }
           finally
           {
               conn.Close();
           }
       }
   }
}

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.