PDA

View Full Version : مشکل drop down



majidgh
جمعه 08 شهریور 1387, 12:54 عصر
سلام امیدوارم که جواب این سوالمو دیگه پیدا کنم. تو سایت هم خیلی سرچ کردم ولی چیزی که جواب سوال من باشه پیدا نکردم.
من یک drop down list دارم که به یک تیبل از دیتاست وصل کردم ، ولی هر کدوم از گزینه هارو که انتخاب می کنم فقط گزینه اول یعنی item 0 انتخاب میشه و تو جدول ذخیره میشه. از Master page هم استفاده می کنم البته نمی دونم به اون ارتباطی داشته باشه یا نه. اگه کمکم کنید ممنون میشم.

kezack
جمعه 08 شهریور 1387, 13:37 عصر
كد مورد نظر رو بزار شايد مشكل از كد باشه
ايا اين كارو ميكني
drop down list.SelectValue

majidgh
جمعه 08 شهریور 1387, 17:08 عصر
بله این کار رو کردم.
این هم کد برنامه هست :



protected void Page_Load(object sender, EventArgs e)
{
str_conn = ConfigurationManager.AppSettings.Get(0);
sql_conn.ConnectionString = str_conn;
sql_da.SelectCommand = new SqlCommand();
sql_da.SelectCommand.Connection = sql_conn;
sql_comm.Connection = sql_conn;
sql_da.SelectCommand.CommandType = CommandType.StoredProcedure;
sql_da.SelectCommand.CommandText = "sp_TimList";
sql_da.SelectCommand.Parameters.AddWithValue("@ligId", Session["lig"].ToString());
sql_conn.Open();
sql_da.Fill(ds, "tbl_Tims");
sql_conn.Close();
drpFavTim.DataSource = ds;
drpFavTim.DataMember = "tbl_Tims";
drpFavTim.DataTextField = "PName";
drpFavTim.DataValueField = "TimId";
drpFavTim.DataBind();
}
protected void btnReg_Click(object sender, EventArgs e)
{
if (txtTimName.Text.Length == 0)
Label3.Text = "نوشتن نام تیم ضروری است";
else if (txtTimName.Text.Length > 50)
Label3.Text = "نام تیم نمی تواند بیشتر از 50 کاراکتر باشد";
else if (drpFavTim.SelectedValue == null)
Label3.Text = "تیم مورد علاقه خود را انتخاب کنید";
else
{
Label3.Text = "";
Session["TimName"] = txtTimName.Text;
Session["FavTim"] = drpFavTim.SelectedValue;
sql_comm.CommandType = CommandType.StoredProcedure;
sql_comm.CommandText = "sp_UserTim_Reg_n";
sql_comm.Parameters.AddWithValue("@User", Session["User"].ToString());
sql_comm.Parameters.AddWithValue("@lig", Session["lig"].ToString());
sql_comm.Parameters.AddWithValue("@Tim", Session["TimName"].ToString());
sql_comm.Parameters.AddWithValue("@Favtim", Session["FavTim"].ToString());
sql_conn.Open();
sql_comm.ExecuteNonQuery();
sql_comm.Parameters.Clear();
sql_conn.Close();
}
}

Behrouz_Rad
جمعه 08 شهریور 1387, 17:46 عصر
قبل از Bind شرط (if (!IsPostBack رو فراموش کردی. به همین دلیل اول Page_Load فراخوانی و DropDownList پر و سپس روال Click اجرا میشه. به همین دلیل همیشه اولین آیتم در دیتابیس ذخیره میشه.

موفق باشید.