PDA

View Full Version : سوال: مشکل با DropDownLiast



HamedNet_ir
جمعه 22 مهر 1390, 21:14 عصر
با سلام

من یک dropdownlist دارم که با بانک اطلاعاتی bind شده است.
تکست و value آن نیز مشخص شده است و هنگام load مقادیر به درستی load میشوند.

مشکل من هنگام دریافت مقادیر dropdownlist است که همیشه مقدار اولیه را برمیگرداند, حتی هنگامی که در رویداد change آن مینویسم.

مشکل من کجاست؟

کد بایند که در رویداد form load است:


string connectionString = "Data Source=.\\SQLEXPRESS;Initial Catalog=uni;Integrated Security=SSPI;";
SqlConnection conObj = new SqlConnection(connectionString);
string commandText = "select * from reshte";
SqlCommand cmdObj = new SqlCommand(commandText, conObj);
conObj.Open();

SqlDataReader dr = cmdObj.ExecuteReader();
std_reshte.DataSource = dr;
std_reshte.DataTextField = "rename";
std_reshte.DataValueField = "reid";
std_reshte.DataBind();


کد خواندن مقادیر:


string value = std_reshte.SelectedItem.ToString();
Label1.Text = value;


باتشکر

اوبالیت به بو
جمعه 22 مهر 1390, 22:10 عصر
سلام

چون شما از SqlDataReader استفاده کردید و این کلاس اگر داخل یک حلقه قرار نگیره فقط رکورد اول رو به شما بر می گردونه.



While (DR.Read())
{
// Do some ...
}

HamedNet_ir
جمعه 22 مهر 1390, 22:14 عصر
سلام

ممنون
مشکل از اون نبود.
یه سرچی زدم و جوابم رو اینجا (http://stackoverflow.com/questions/464021/dropdownlist-selecteditem-is-always-the-first-item-despite-selection) گرفتم.

را حل:
اگر مثل من در form load گذاشتید, باید آنرا در شرط زیر قرار دهید:

if (!IsPostBack)
{
// Your code goes here ...
}