错误CS1061 - Button1_click ASP

时间:2013-10-11 15:40:17

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

我有一个按钮,点击后,会使用`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文件。

但是,当我在Button1_Click之外添加Register时,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方法,它不会抛出任何错误。

2 个答案:

答案 0 :(得分: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校长应该适用。

答案 1 :(得分:0)

解决了,不需要}