behzadk
یک شنبه 10 اسفند 1393, 16:09 عصر
با سلام 
تو mvc می خوام چند تا drop down رو به صورت سلسله مراتبی ایجاد کنم مثلا 
استان -شهرستان -بخش-شهر و ...
و هر کدام از این ها از کلاس دیگری گرفته می شوند 
و در آخر هر کدام از اینها در database ذخیره خواهند شد
حالا بهترین راه برای ایجاد چنین چیزی چه هست ؟
با تشکر
r4hgozar
یک شنبه 10 اسفند 1393, 17:45 عصر
سلام.
http://stackoverflow.com/questions/22218079/loading-dropdown-list-with-data-from-table-in-mvc4
https://code.msdn.microsoft.com/Cascading-DropDownList-in-833683f9
aroshanzamir
یک شنبه 10 اسفند 1393, 20:07 عصر
سلام وقت شما بخیر : من برای استان و شهرستان می گم خودت برای مابقی توسعه بده : 
یک کلاس شهر داریم : 
    public class City
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public int Id_Parent { get; set; }
    }
کلاس استان : 
    public class Province
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }
یک منبع داده فرضی : 
    public class Repository
    {
        public List<Province> GetAllProvince()
        {
            return new List<Province> 
            {
                new Province { Id=1, Name="Fars"},
                new Province { Id=1, Name="Tehran"},
                new Province { Id=1, Name="Esfahan"},
                new Province { Id=1, Name="Khorasan"}
            };
        }
        public List<City> GetAllCity(int Id)
        {
            //با توجه به مقدار دریافتی متد به دیتا بیس متصل شده واطلاعات مورد نظر واکشی شود
            return new List<City> 
            {
                new City { Id=1, Name="Fasa", Id_Parent=1},
                new City { Id=2, Name="Shiraz", Id_Parent=1},
                new City { Id=3, Name="Firozabad", Id_Parent=1},
                new City { Id=4, Name="Jahrom", Id_Parent=1}
            };
        }
    }
یک کنترولر با نام Home  ایجاد می کنید و به دو  ViewBag مقدار می دهیم : 
        public ActionResult Index()
        {
            ViewBag.Province = new SelectList(new Repository().GetAllProvince(), "Id", "Name");
            ViewBag.City = new SelectList(new List<City> { }, "Id", "Name");
            return View();
        }
        public JsonResult SearchProvince(int Id)
        {
            //شما بر روی پایگاه داده سرچ بزنید با آی دی گرفته شده از وردی
            //من از یک منبع داده پیش فرض استفاده می کنم
            return Json(new Repository().GetAllCity(Id), JsonRequestBehavior.AllowGet);
        }
در View : 
<div class="row">
    <div class="col-md-12">
        @Html.DropDownListFor(x => x.province.Id, (SelectList)ViewBag.Province,
        "plese select a province",
        new { id = "provinceDropdown" })
        @Html.DropDownListFor(x => x.city.Id, (SelectList)ViewBag.City, "plese select a city",
        new { id = "cityDropdown" })
    </div>
</div>
کد جی کوئری :
 زمانی که لیست کشویی اول تغیر پیدا کرد(change) میره از سمت سروز و اطلاعات  مربوط لیست کشویی دوم را میاره که با توجه به Id دریافتی مباشد که در این مثال من از یک منبع داده ای پیش فرض استفاده کرده ام : 
<script type="text/javascript" lang="en">
    $(document).ready(function () {
        jQuery("#provinceDropdown").change(function () {
            $("#cityDropdown").empty();
            jQuery.getJSON("@Url.Action("SearchProvince", "home")",
                { Id: $(this).val() }, function (data) {
                    jQuery.each(data, function (i) {
                        var option = $('<option></option>').attr("value", data[i].Id).text(data[i].Name);
                        $("#cityDropdown").append(option);
                    });
                });
        });
    });
</script>
تمام !
کد نامفهمومی نداره که بخواهم توضیح بدم هر جاش متوجه نشدی بگو تا توضیح بدم 
/ بازهم مشکلی بود مثالش را نوشتم بگو تا آپلودش کنم 
موفق باشی
greenkit
یک شنبه 18 مرداد 1394, 01:31 صبح
با سلام
چطور میتونم لیست کشویی شبیه به این برا مطالبم درست کنم؟
http://farsi-nopcommerce.ir/%D8%A7%D9%85%DA%A9%D8%A7%D9%86%D8%A7%D8%AA
bahare0438
شنبه 23 آبان 1394, 11:02 صبح
سلام.اگر بخایم تو دراپ دان لیست دوم کاربر بتونه چند تا گزینه رو انتخاب کنه چطور باید عمل کرد؟
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.