PDA

View Full Version : سوال: نحوه ایجاد dropdownlist و اتصال آن به یک جدول



r4hgozar
یک شنبه 02 شهریور 1393, 09:38 صبح
سلام.
من دارم برا تمرین یه صفحه ای شبیه صفحه ی
http://melkyabi.ir/?gid=550
می سازم
هدفم اینه که مثل سایتی که دادم یک dropdownlist داشته باشم که بتونم از توش استان رو انتخاب کنم و بعد هم شهرستان.
برای اول چون نمی خوام درگیر جی کوئری شم می گم شهرستان هیچی و فقط می خوام استاد رو انتخاب کنم و به جدولی که با codefirst ساختم انتقال بدم.
اما مشکلم ایسنجاست که نمی دونم چطوری باید این ویو رو درست کنم. و چطوری ایتم انتخاب شده رو بفهمم کدوم.
ممنون میشم راهنمایی کنید

r4hgozar
یک شنبه 02 شهریور 1393, 13:08 عصر
کسی نیست جواب بده؟

hakim22
یک شنبه 02 شهریور 1393, 14:14 عصر
نگاهی به این مقاله (http://odetocode.com/blogs/scott/archive/2013/03/11/dropdownlistfor-with-asp-net-mvc.aspx)

برای اینکارهای باید از SelectList استفاده کنید. در کنترلر :


ViewBag.Provinces = new SelectList(ProvinceList, "Id", "Name", 0);


در View



@Html.DropDownList("ProvinceId", ViewBag.Provinces)

jaykob
یک شنبه 02 شهریور 1393, 16:52 عصر
نگاهی به این مقاله (http://odetocode.com/blogs/scott/archive/2013/03/11/dropdownlistfor-with-asp-net-mvc.aspx)

برای اینکارهای باید از SelectList استفاده کنید. در کنترلر :


ViewBag.Provinces = new SelectList(ProvinceList, "Id", "Name", 0);


در View



@Html.DropDownList("ProvinceId", ViewBag.Provinces)


سلام

با تشکر از پاسخ خوبتون . اگر همچین حالتی رو ما برای جدول IdentityUsers داشته باشیم خوب بعد از اینکه نام کاربر رو از DropDownList انتخاب کرد چطور به UserId اون بعد از Post فرم دسترسی داشته باشیم که بتونیم عملیات مد نظرمون رو انجام بدیم ؟

با تشکر

hakim22
یک شنبه 02 شهریور 1393, 18:16 عصر
اینجا DropDownList درون یک فرم است و provinceId یکی از پروپرتی های درون مدل (یا ViewModel) فرم است. که بعد از Submit به سرور ارسال میشود و مقدار انتخاب شده را درون خودش دارد.

عدد 0 در کد بالا مقدار پیشفرضی است که میخواهید درون Dropdown انتخاب شده باشد. معمولا برای فرمهای ادیت که Dropdown باید روی مقدار قبلی باشد مقدار دهی میشود. در فرمهای Create نیازی نیست و معمولا روی صفر یا هر مقدار پیشفرض دیگری قرار می گیرد.