2011-01-26 138 views
0

我有一个列表框,其中包含一些实体,我需要选择它才能使提交按钮成功工作,但是当没有选择实体时它应该给出错误 i是新的尝试捕捉谁能帮我在哪里代码 这里适用尝试捕捉的代码是在asp.net中使用try语句使用if语句

protected void SubmitBtn_Click(object sender, EventArgs e) 
{ 
     SqlConnection con = new SqlConnection(); 
     con.ConnectionString = ConfigurationManager.ConnectionStrings["cn"].ConnectionString; 

     business.clsprofiles obj1 = new business.clsprofiles(); 
     business.clsprofilesprp objprp1 = new business.clsprofilesprp(); 
     objprp1.id = Convert.ToInt32(Session["cod"]); 
     objprp1.name = TextBox1.Text; 
     objprp1.password = TextBox2.Text; 
     objprp1.description = TextBox3.Text; 
     objprp1.modified = DateTime.Now; 
     obj1.upd_profiles(objprp1); 
     // 
     if (con.State == ConnectionState.Closed) 
     { 
       con.Open(); 
     } 
     SqlCommand cmd = new SqlCommand("select id from profiles_plugins where profile_id=" + Convert.ToInt32(Session["cod"]), con); 
     SqlDataReader dr = cmd.ExecuteReader(); 
     var yourlist = new List<Int32>(); 
     if (dr.HasRows) 
     { 
       while (dr.Read()) 
       { 
         yourlist.Add(Convert.ToInt32(dr[0])); 
       } 
     } 
     dr.Close(); 
     cmd.Dispose(); 
     con.Close(); 
     // 
     Array k = yourlist.ToArray(); 
     // 
     business.clsprofiles_plugins obj2 = new business.clsprofiles_plugins(); 
     business.clsprofiles_pluginsprp objprp2 = new business.clsprofiles_pluginsprp(); 
     for (Int32 i = 0; i < k.Length; i++) 
     { 
       objprp2.id = Convert.ToInt32(k.GetValue(i)); 
       obj2.del_profiles_plugins(objprp2); 
     } 

     for (Int32 i = 0; i < ListBox1.Items.Count; i++) 
     { 

       if (ListBox1.Items[i].Selected) 
       { 
         objprp2.profile_id = Convert.ToInt32(Session["cod"]); 
         objprp2.plugin_id = Convert.ToInt32(ListBox1.Items[i].Value); 
         obj2.sav_profiles_plugins(objprp2); 
       } 
     } 
     Response.Redirect("myprofile.aspx"); 
} 
+0

请与您所使用的语言标记您的问题。没有人热切地等待标签为try-catch的新问题,但许多专家正在用一种他们擅长的语言来标注新问题。 – 2011-01-26 10:30:30

回答

0

尝试以下

protected void SubmitBtn_Click(object sender, EventArgs e) { 
SqlConnection con = new SqlConnection(); 
      try 
      { 
       con.ConnectionString = ConfigurationManager.ConnectionStrings["cn"].ConnectionString; 
       //business.clsprofiles obj1 = new business.clsprofiles(); 
       // business.clsprofilesprp objprp1 = new business.clsprofilesprp(); 
       // objprp1.id = Convert.ToInt32(Session["cod"]); 
       // objprp1.name = TextBox1.Text; 
       // objprp1.password = TextBox2.Text; 
       // objprp1.description = TextBox3.Text; 
       // objprp1.modified = DateTime.Now; 
       // obj1.upd_profiles(objprp1); 
       // 
       if (con.State == ConnectionState.Closed) 
       { 
        con.Open(); 
       } 
       SqlCommand cmd = new SqlCommand("select id from profiles_plugins where profile_id=" + Convert.ToInt32(Session["cod"]), con); 
       SqlDataReader dr = cmd.ExecuteReader(); 
       var yourlist = new List<Int32>(); 
       if (dr.HasRows) 
       { 
        while (dr.Read()) 
        { 
         yourlist.Add(Convert.ToInt32(dr[0])); 
        } 
       } 
       dr.Close(); 
       cmd.Dispose(); 
       con.Close(); 
       // 
       Array k = yourlist.ToArray(); 
       // 
       //business.clsprofiles_plugins obj2 = new business.clsprofiles_plugins(); 
       //business.clsprofiles_pluginsprp objprp2 = new business.clsprofiles_pluginsprp(); 
       //for (Int32 i = 0; i < k.Length; i++) 
       //{ 
       // objprp2.id = Convert.ToInt32(k.GetValue(i)); 
       // obj2.del_profiles_plugins(objprp2); 
       //} 

       //for (Int32 i = 0; i < ListBox1.Items.Count; i++) 
       //{ 

       // if (ListBox1.Items[i].Selected) 
       // { 
       //  objprp2.profile_id = Convert.ToInt32(Session["cod"]); 
       //  objprp2.plugin_id = Convert.ToInt32(ListBox1.Items[i].Value); 
       //  obj2.sav_profiles_plugins(objprp2); 
       // } 
       //} 
       Response.Redirect("myprofile.aspx"); 
      } 

      catch (Exception ex) 
      { 
       //Handle exception here 
       throw; 
      } 
      finally 
      { 
       if (con.State == ConnectionState.Open) 
       { 
        con.Close(); 
       } 
      } 
}