【问题标题】:Error CS1061 - Button1_click ASP错误 CS1061 - Button1_click ASP
【发布时间】:2013-10-11 15:40:17
【问题描述】:

我有一个按钮,点击它时,将使用 `generalcontext db connection 将文本框存储到数据库中。

protected void Button1_Click(object sender, EventArgs e)
{
   SaveCVInfo2();
}

private void SaveCVInfo2()
{
   using (ConexionGeneralDataContext db = new ConexionGeneralDataContext())
   {
      Usuario_Web columna = new Usuario_Web();
  //Add new values to each fields
  columna.Nombre = nombre.Text;
  columna.Apellido = Apellidos.Text;
  columna.Em_solicitado = Empleo.Text;
  columna.Direccion = DireccionPersonal.Text;
  columna.Ciudad = Ciudad.Text;
  columna.Tel_habitacion = TelHabi.Text;
  columna.Celular = TelCel.Text;
  columna.Email = userEmail.Text;
  columna.Nacionalidad = Nacionalidad.Text;

  //Insert the new Customer object
  db.Usuario_Web.InsertOnSubmit(columna);
  //Sumbit changes to the database
  db.SubmitChanges();
   }
}

我有一个以前的方法,在同一个代码隐藏文件中,称为Register

protected void Register(object sender, EventArgs e)
{
   if (emailValid())
   {
      string[] extension = { "go" };
      int last = 0;

      bool validFile = true;
      if (FileUpload1.HasFile)
      {
         extension = FileUpload1.FileName.Split('.');
         last = extension.Length - 1;

         if (String.Compare(extension[last], "DOC", true) != 0 && String.Compare(extension[last], "DOCX", true) != 0 && String.Compare(extension[last], "PDF", true) != 0)
         {
            validFile = false;
         }
      }

  if (validFile)
      {
         ConexionGeneralDataContext db = new ConexionGeneralDataContext();
         Usuario_Web columna = new Usuario_Web();

         columna.Estatus = 1;
         columna.Fecha_hora = DateTime.Now;
         columna.Nombre = nombre.Text;
         columna.Email = userEmail.Text;
     columna.Contraseña = classes.main.MD5(contraseña.Text); 

         if (FileUpload1.HasFile)
         {
            string path = Server.MapPath("Default.aspx");
            path = path.Replace("Default.aspx", "");
            path = path + "CurriculumsVitae\\";

            Random randomNumber = new Random();
            string filename = randomNumber.Next(10000000, 99999999).ToString() + FileUpload1.FileName;

            string ubicacionReal = createPath(path) + filename;
            FileUpload1.SaveAs(ubicacionReal);
            columna.Curriculum_vitae = ubicacionReal;
         }
     db.Usuario_Web.InsertOnSubmit(columna);
         db.SubmitChanges();

         MailMessage email = new MailMessage();
         email.From = new MailAddress("administrador@grupozulcon.com.ve", "Grupo Zulcon");
         email.To.Add(userEmail.Text);
         email.Subject = "¡Bienvenido a nuestra comunidad!";

         email.Body = "<div>Gracias por registrarte.</div><div style=\"margin-top:10px\">Estamos altamente comprometidos con tu desarrollo, por ello, te ofrecemos las mejores ofertas laborales.</div><div style=\"margin-top:10px\">Visítanos y postúlate a los cargos que se adapten a tu perfil.</div><div style=\"margin-top:10px\">Mantén tu CV actualizado. Puedes leer nuestra sección “Consejos” si tienes alguna duda en la elaboración del mismo.</div><div style=\"margin-top:10px\">Te contactaremos en caso de tener ofertas de empleo que se ajusten a tu perfil.</div><div style=\"margin-top:10px\">¡Éxito!</div>";

         email.IsBodyHtml = true;

         SmtpClient smtp = new SmtpClient();
         smtp.Send(email);


         double timeout = 120;
         string identity = columna.ID + "|&*#$|" + columna.Nombre + "|&*#$|" + columna.Email + "|&*#$|" + convertCVPath(columna.Curriculum_vitae) + convert;

         FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, identity, DateTime.Now, DateTime.Now.AddMinutes(timeout), false, identity);

         string hashedCookie = FormsAuthentication.Encrypt(ticket);
         HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, hashedCookie);

         Response.Cookies.Add(cookie);
         PanelAutenticacion.Visible = false;
         PanelRespuesta.Visible = true;
   }

   else
   {
      PanelEmail.Visible = false;
      PanelArchivo.Visible = true;
            }

        }
        else
        {
            PanelEmail.Visible = true;
            PanelArchivo.Visible = false;
        }

    }

但是,我添加了多个页面的多个按钮,它们共享相同的codebehind 文件。

但是,当我在 Register 之外添加 Button1_Click 时,Register 开始抛出错误:

Error   44  Se esperaba una clase, un delegado, una enumeración, una interfaz o un struct   C:\Users\Kristian\Documents\zulcon\Grupo Zulcon - copia\Grupo Zulcon\EnvianosTuCurriculum.aspx.cs   51  19  Grupo Zulcon
Error   45  Se esperaba un identificador    C:\Users\Kristian\Documents\zulcon\Grupo Zulcon - copia\Grupo Zulcon\EnvianosTuCurriculum.aspx.cs   55  24  Grupo Zulcon
Error   46  Se esperaba una clase, un delegado, una enumeración, una interfaz o un struct   C:\Users\Kristian\Documents\zulcon\Grupo Zulcon - copia\Grupo Zulcon\EnvianosTuCurriculum.aspx.cs   55  26  Grupo Zulcon
Error   47  Se esperaba una clase, un delegado, una enumeración, una interfaz o un struct   C:\Users\Kristian\Documents\zulcon\Grupo Zulcon - copia\Grupo Zulcon\EnvianosTuCurriculum.aspx.cs   64  55  Grupo Zulcon
Error   48  Se esperaba una clase, un delegado, una enumeración, una interfaz o un struct   C:\Users\Kristian\Documents\zulcon\Grupo Zulcon - copia\Grupo Zulcon\EnvianosTuCurriculum.aspx.cs   64  108 Grupo Zulcon
Error   49  Se esperaba una clase, un delegado, una enumeración, una interfaz o un struct   C:\Users\Kristian\Documents\zulcon\Grupo Zulcon - copia\Grupo Zulcon\EnvianosTuCurriculum.aspx.cs   64  162 Grupo Zulcon
Error   50  Un espacio de nombres no puede contener directamente miembros como campos o métodos.    C:\Users\Kristian\Documents\zulcon\Grupo Zulcon - copia\Grupo Zulcon\EnvianosTuCurriculum.aspx.cs   74  17  Grupo Zulcon
Error   51  Se esperaba una clase, un delegado, una enumeración, una interfaz o un struct   C:\Users\Kristian\Documents\zulcon\Grupo Zulcon - copia\Grupo Zulcon\EnvianosTuCurriculum.aspx.cs   76  57  Grupo Zulcon
Error   52  Se esperaba una clase, un delegado, una enumeración, una interfaz o un struct   C:\Users\Kristian\Documents\zulcon\Grupo Zulcon - copia\Grupo Zulcon\EnvianosTuCurriculum.aspx.cs   78  47  Grupo Zulcon
Error   53  Se esperaba una clase, un delegado, una enumeración, una interfaz o un struct   C:\Users\Kristian\Documents\zulcon\Grupo Zulcon - copia\Grupo Zulcon\EnvianosTuCurriculum.aspx.cs   92  51  Grupo Zulcon
Error   54  Se esperaba una definición de tipo o espacio de nombres, o el fin del archivo   C:\Users\Kristian\Documents\zulcon\Grupo Zulcon - copia\Grupo Zulcon\EnvianosTuCurriculum.aspx.cs   99  21  Grupo Zulcon

我不明白为什么,我需要在这个 aspx.cs 代码隐藏文件中再添加 8 个方法(按钮),每个方法都将在不同的 aspx 页面中使用,它们都是这个 Visual Studio 解决方案的一部分.

编辑

如果我只留下 Register 方法,它不会抛出任何错误。

【问题讨论】:

  • 这个问题似乎是题外话,因为它是关于一个错字

标签: c# asp.net sql-server visual-studio


【解决方案1】:

补充:我的建议如下:

我不会让页面在超过 8 页的文件中使用相同的代码。而是创建了一个帮助程序类 (Helper.cs),您可以调用这些方法,即来自 SaveCVInfo2Register

SaveCVInfo2 方法在 Helper 类中将如下所示

public void SaveCVInfo2(string varOne,string varTwo, string  varThree...)
{
   using (ConexionGeneralDataContext db = new ConexionGeneralDataContext())
   {
      Usuario_Web columna = new Usuario_Web();
      //Add new values to each fields
      columna.Nombre = varOne;
      columna.Apellido = varTwo;
      columna.Em_solicitado = varThree;
      //and the rest where the textboxes would have been


      //Insert the new Customer object
      db.Usuario_Web.InsertOnSubmit(columna);
      //Sumbit changes to the database
      db.SubmitChanges();
   }

}

那么它将被引用为

protected void Button1_Click(object sender, EventArgs e)
{
    Helper helper = new Helper();
    helper.SaveCVInfo2(nombre.Text,Apellidos.Text,Empleo.Text,...);
}

Register 也是如此。然后可以轻松地在其他 8 个页面上重复使用这些内容。

如果您重用该方法,不如分享它。 SOLID 原则应适用。

【讨论】:

  • 哇,这是一个建议,哈哈,谢谢,我要试试!并且会让你知道,谢谢!
  • 对不起,一个愚蠢的问题,我还在掌握asp.net,我应该在'public void SaveCVInfo2'声明之后的'{}'之间写什么?
  • 或者只是在 public void SaveCVInfo2(string varOne,string varTwo, string varThree...) 之后放空 '{}'?
  • 在您的 cmets 之后,我在回答中添加了更多细节。希望对您有所帮助。
  • 哇,非常感谢,我一回家我就试试 =),顺便说一句,每个按钮都在 aspx.cs 的代码隐藏中,(Button1_Click、Button2_Click、Button3_Click... ) 并且会引用我正在实例化的辅助对象,对吗?如果我理解正确,所有从 helper.cs (SaveCVInfo2、SaveCVInfo3、SaveCVInfo4...) 实例化:)
【解决方案2】:

已解决,不需要}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-02
    • 2021-03-08
    • 1970-01-01
    • 1970-01-01
    • 2011-10-07
    相关资源
    最近更新 更多