繁体   English   中英

如何在asp.net mvc中创建级联下拉列表

[英]how to create cascading dropdownlist in asp.net mvc

1.这是我的控制器:

using System; using System.Collections.Generic; using System.Linq;
using System.Web; using System.Web.Mvc; using
WebApplication7.Models;

namespace WebApplication7.Controllers {
    public class DefaultController : Controller
    {
        tarazouEntities db = new tarazouEntities();
        // GET: Default
        public ActionResult Index()
        {
            List<Province> lstpro = new List<Province>();
            ViewBag.Province = new SelectList(db.Provinces, "Id", "Name");

            return View();
        }
        public ActionResult City(int id)
        {
            return Json(db.Cities.Where(x => x.ProvinceId == id), JsonRequestBehavior.AllowGet);
        }
    }

}

这是我的看法:

   @{
        ViewBag.Title = "Index"; } <br /> <div class="form-group">
        @Html.DropDownList("province", (SelectList)ViewBag.Province, " Select your Province", new { @class = "form-control",
    initilize_dropdown = "/default/City", drop = "#city" }) </div> <div
    class="form-group">
        <select class="form-control" id="city"></select> </div> @section scripts {
        <script>
            $('[initilize-dropdown]').change(function () {
                var id = $(this).val();
                var model = $(this).attr('initilize-dropdown');
                var fill_dropdown = $(this).attr('drop');
                $(fill_dropdown).empty();
                $.get(model, { 'id': id }, function (data) {
                    $.each(data, function (index, value) {
                        $(fill_dropdown).append(new Option(value.Name, value.Id));
                    });
                });
            });
        </script>
 }

当我选择省时,城市未打开,城市列表为空

在下拉更改事件中,将ajax请求发送到控制器操作。 用下拉列表检索并绑定数据

$.getJSON('action','controller',null, function (data){ 
   $.each(data, function(){
      $('#dplcities').append("<option value="+data.id+">+ data.CityName +"
       </option>")
    });
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM