ایجاد DropDownList تو د ر تو
یکشنبه 3 خرداد 1394دراین مقاله نشان میدهیم که چگونه یک DropDownList داخل DropDownList دیگر در asp.Net درج میشود برای مثال شما در سایت خود میخواهید این امکان را قرار دهید که با انتخاب کشور، استان های مربوط به آن کشور وشهر های مربوط به استان و کشور نشان داده شود
برای ایجاد DropDownList تو در تو باید مراحل زیر را طی کنیم:
مرحله 1
ویژوال استادیو را باز میکنیم و یک پروژه از نوع asp.Net به نام Cascade_dropdownlist_demo ایجاد میکنیم.
مرحله 2
روی Solution Explorer راست کلیک کرده در Add قسمت NewItem یک Web From به نام Default.aspx ایجاد میکنیم.
مرحله 3
شما نیاز دارید که مجدد روی Solution Explorer راست کلیک کرده و در Add قسمت NewItem
، SQL Server Database را انتخاب کنید که بتوانم بانک اطلاعاتی خود را به برنامه اضافه کنید ( برای اضافه کردن بانک اطلاعاتی میتوان از کلید میانبر CTRL + ALT + Sاستفاده کنید )
لازم بذکر است این نکته را یاداوری کنم که هنگام اضافه کردن SQL Server Database یک پیغام با این مضمون نمایش داده میشود که آیا مایل هستید پایگاه خود را در پوشه App_Data_Folder؟ قرار دهیم که ما گزینه Yes را انتخاب میکنیم
مرحله 4:
در Server Explorer ، در Data Conction راست کلیک کرده وگزینه Crate New Sql Server Database را انتخاب میکنیم ویک بانک اطلاعاتی با نام "dropdownlistDB"ایجاد میکنیم سپس در قسمت جداول رفته و راست کلیک کرده و گزینه Add New Table را انتخاب میکنیم
یک جدول به نام Country ایجاد میکنیم که فیلد Country_id کلید اصلی و Identity جدول باشد
یک جدول دیگر به نام tbl_State برای انتخاب استان ها ایجاد میکنیم که فیلد state_id آن کلید اصلی و Identity جدول است
یک جدول دیگر به نام tbl_city برای انتخاب شهر ها ایجاد میکنیم که فیلد city_id آن کلید اصلی و Identity جدول است
فقط باید این نکته را یاد اوری کنیم که حتما درجداول شما باید Identity=True باشد
و حالا به صورت دستی در جداول خود، داده ثبت میکنیم
مرحله 5
در قسمت Solution Explorer وارد صفحه Default.aspxشده و شروع به طراحی صفحه خود میکنیم
از قسمت ToolBox سه عدد DropDownList ، یکی برای انتخاب کشور و یکی برای انتخاب استان و دیگری برای انتخاب شهر ایجاد میکنیم
تصویری از صفحه Default.aspx
در صفحه Default.aspx.cs بایستی using های زیر را به برنامه اضافه کنیم
در رویداد Page_Load صفحه کد های زیر را اضافه میکنیم
public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { SqlConnection con = new SqlConnection(@"Data Source=.;Initial Catalog=dropdownlistDB;user id=sa;password=123") ; SqlCommand cmd = new SqlCommand("select * from tbl_country", con); SqlDataAdapter sda = new SqlDataAdapter(cmd); DataTable dt = new DataTable(); sda.Fill(dt); DropDownList1.DataSource = dt; DropDownList1.DataBind(); } } protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) { DropDownList2.Items.Clear(); DropDownList2.Items.Add("انتخاب استان"); SqlConnection con = new SqlConnection(@"Data Source=.;Initial Catalog=dropdownlistDB;user id=sa;password=123;"); SqlCommand cmd = new SqlCommand("select * from tbl_state where country_id=" + DropDownList1.SelectedItem.Value, con); SqlDataAdapter sda = new SqlDataAdapter(cmd); DataTable dt = new DataTable(); sda.Fill(dt); DropDownList2.DataSource= dt; DropDownList2.DataBind(); } protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e) { DropDownList3.Items.Clear(); DropDownList3.Items.Add(" انتخاب شهر"); SqlConnection con = new SqlConnection(@"Data Source=.;Initial Catalog=dropdownlistDB;user id=sa;password=123;"); SqlCommand cmd = new SqlCommand("select * from tbl_city where state_id=" + DropDownList2.SelectedItem.Value, con); SqlDataAdapter sda = new SqlDataAdapter(cmd); DataTable dt = new DataTable(); sda.Fill(dt); DropDownList3.DataSource = dt; DropDownList3.DataBind();
همان طور که از کد ها معلوم است ابتدا بایستی برای خواندن اطلاعات جداول به بانک اطلاعاتی متصل شویم
شما بایستی Connection String مربوط به بانک اطلاعاتی خود را در برنامه اضافه کنید برای اینکار بایستی درServer Explorer بر روی بانک اطلاعاتی خود راست کلیک کرده Properties را انتخاب کنید و سپس شما آن جا Connection String را مشاهده میکنید و آن را کپی کرده و در SQL connection قرار میدهید ( فقط این نکته را یاد اوری کنم که Connection String شما با من فرق دارد )
نمایی از اجرای برنامه
موفق باشید
- ASP.net
- 2k بازدید
- 7 تشکر