2017-10-08 10 views
0

私は2つのDropDownListsを作成しました最初のドロップダウンには "TeamName"が含まれ、2番目のドロップダウンには "TeamMember"という名前が含まれています。要件は、ドロップダウンから2番目のドロップダウンから特定のTeamNameを選択したときに自動的にチームメンバー名を入力し、ボタンのクリックデータをデータベースに挿入する必要があります。部門の名前を表示する、突然それが失われるので。私はこの問題を解決するために何をする必要があるのか​​教えてください?続きasp.netのボタンをクリックした後にドロップダウンリストに値を格納する方法は?

私は、このタスク

User.aspx page code: 

を達成するためにやったコードである

User.aspx.csページコード:

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
    { 
     BindTeamName(); 
     txtCurrentDate.Text = DateTime.Now.ToString("MM-dd-yyyy"); 
     txtCurrentDate.ForeColor = System.Drawing.Color.Green; 
    } 
} 
private void BindTeamName() 
{ 
    SqlConnection con = new SqlConnection(SqlString); 
    con.Open(); 
    SqlCommand cmd = new SqlCommand("select * from TeamName", con); 
    SqlDataAdapter da = new SqlDataAdapter(cmd); 
    DataSet ds = new DataSet(); 
    da.Fill(ds); 
    con.Close(); 
    ddl1.DataSource = ds; 
    ddl1.DataTextField = "TeamName"; 
    ddl1.DataValueField = "TeamId"; 
    ddl1.DataBind(); 
    ddl1.Items.Insert(0, new ListItem("--Select--", "0")); 
} 
protected void ddl1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    int TeamId = Convert.ToInt32(ddl1.SelectedValue); 
    SqlConnection con = new SqlConnection(SqlString); 
    con.Open(); 
    SqlCommand cmd = new SqlCommand("select * from TeamResource where TeamId=" + TeamId, con); 
    SqlDataAdapter da = new SqlDataAdapter(cmd); 
    DataSet ds = new DataSet(); 
    da.Fill(ds); 
    con.Close(); 
    ddl2.DataSource = ds; 
    ddl2.DataTextField = "EmpName"; 
    ddl2.DataValueField = "EmpId"; 
    ddl2.DataBind(); 
    ddl2.Items.Insert(0, new ListItem("--Select--", "0"));  
} 
protected void btnSubmit_Click(object sender, EventArgs e) 
{ 
    if (Page.IsValid) 
    { 
     using (SqlConnection con = new SqlConnection(SqlString)) 
     { 

      SqlCommand cmd = new SqlCommand("InsertUserData", con); 
      cmd.CommandType = CommandType.StoredProcedure; 
      cmd.Parameters.AddWithValue("@WorkDate", txtCurrentDate.Text); 
      cmd.Parameters.AddWithValue("@TeamName", ddl1.SelectedItem.Text); 
      cmd.Parameters.AddWithValue("@TeamMember", ddl2.SelectedItem.Text); 
      cmd.Parameters.AddWithValue("@AvailableBandwidth", ddlAvailable.SelectedItem.Value); 
      con.Open(); 
      int ReturnCode = (int)cmd.ExecuteScalar(); 
      if (ReturnCode == -1) 
      { 
       lblMsg.Text = "Already Data present"; 
       lblMsg.ForeColor = System.Drawing.Color.Red; 
       ClearFields(); 
      } 
      else 
      { 
       lblMsg.Text = "Data inserted successfully"; 
       lblMsg.ForeColor = System.Drawing.Color.Green; 
       ClearFields(); 

      } 

     } 

答えて

0

私は成功した保存の後に "TeamName"ドロップダウンリストを再バインドします。

//btnSubmit_Click 
if (ReturnCode == -1) 
{ 
     lblMsg.Text = "Already Data present"; 
     lblMsg.ForeColor = System.Drawing.Color.Red; 
     ClearFields(); 
} 
else 
{ 
     lblMsg.Text = "Data inserted successfully"; 
     lblMsg.ForeColor = System.Drawing.Color.Green; 
     ClearFields(); 
     BindTeamName(); //re-bind the initial dropdown so you can select a new team 
} 

実際には、ClearFields()の機能に応じて、この方法をどちらでも使用できます。

+0

ありがとうございました。 – svs

関連する問題