MVC中Html.DropDownListFor的联动更新

Eagle Liang 2011-07-29 03:32:23
Controller中有:
List<SelectListItem> StepList = new List<SelectListItem>();
StepList.Add(new SelectListItem { Text = "公文起草", Value = "公文起草" });
StepList.Add(new SelectListItem { Text = "公文审核", Value = "公文审核" });
StepList.Add(new SelectListItem { Text = "公文审批", Value = "公文审批" });
StepList.Add(new SelectListItem { Text = "公文分发", Value = "公文分发" });
StepList.Add(new SelectListItem { Text = "公文归档", Value = "公文归档" });

ViewData["StepList"] = StepList;

UserService us = new UserService();
List<SelectListItem> items = new List<SelectListItem>();
foreach (var user in us.getUesrByRight(stepName))
{
items.Add(new SelectListItem { Text = user.UserName, Value = user.UserName });
}
ViewData["UserList"] = items;

View中有:
<%=Html.DropDownListFor(model => model.StepName, ViewData["StepList"] as
IEnumerable<SelectListItem>)%>
<%=Html.DropDownListFor(model => model.Operator, ViewData["UserList"] as
IEnumerable<SelectListItem>)%>


用意:
当选择<%=Html.DropDownListFor(model => model.StepName, ViewData["StepList"] as IEnumerable<SelectListItem>)%>的值之后,
将选中的值用 UserList 的查询,得出的结果集显示在<%=Html.DropDownListFor(model => model.Operator, ViewData["UserList"] as IEnumerable<SelectListItem>)%>的下拉列表中
求指导
...全文
1941 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zh66 2013-07-30
  • 打赏
  • 举报
回复
引用 7 楼 xaocker 的回复:
格式不好看,重新发:
二级联动:
View: 
<script type="text/javascript">    
    $(function () {       
        $("#drpProvince").change(function () { 
            $("#drpCity").get(0).options.length = 0; //清空
            $.getJSON("/Persons/GetCities/" + $(this).val(), null , function (data) {
                $.each(data, function (i, item) {
                    $("<option></option>").val(item["ID"]).text(item["CityName"]).appendTo($("#drpCity"));
                });
            });
        });
    });
</script>

@Html.DropDownList("drpProvince",null,"请选择")
@Html.DropDownList("drpCity", null,"请选择")

Action:

   	   public ActionResult Create()
        { 
            List<Provinces> list = db.Provices.ToList();
            ViewData["drpProvince"] = new SelectList(list, "ID", "ProvinceName");
            ViewData["drpCity"] = new List<SelectListItem>();
            return View();
        }

        //返回城市列表
        public ActionResult GetCities(int? id)
        {
            List<Cities> list = db.Cities.Where(q => q.ProvincesID == id).ToList();
            if (Request.IsAjaxRequest())
            {
                return Json(list, JsonRequestBehavior.AllowGet);
            }
            else
            {
                return View("");
            }
        } 

我按你的写了,但是有问题啊,求指教,qq:2596013975
xaocker 2011-11-10
  • 打赏
  • 举报
回复
格式不好看,重新发:
二级联动:
View:
<script type="text/javascript">
$(function () {
$("#drpProvince").change(function () {
$("#drpCity").get(0).options.length = 0; //清空
$.getJSON("/Persons/GetCities/" + $(this).val(), null , function (data) {
$.each(data, function (i, item) {
$("<option></option>").val(item["ID"]).text(item["CityName"]).appendTo($("#drpCity"));
});
});
});
});
</script>

@Html.DropDownList("drpProvince",null,"请选择")
@Html.DropDownList("drpCity", null,"请选择")

Action:

public ActionResult Create()
{
List<Provinces> list = db.Provices.ToList();
ViewData["drpProvince"] = new SelectList(list, "ID", "ProvinceName");
ViewData["drpCity"] = new List<SelectListItem>();
return View();
}

//返回城市列表
public ActionResult GetCities(int? id)
{
List<Cities> list = db.Cities.Where(q => q.ProvincesID == id).ToList();
if (Request.IsAjaxRequest())
{
return Json(list, JsonRequestBehavior.AllowGet);
}
else
{
return View("");
}
}

xaocker 2011-11-10
  • 打赏
  • 举报
回复
给你看个我写的例子就明白了:
二级联动:
View:
<script type="text/javascript">
$(function () {
$("#drpProvince").change(function () {
$("#drpCity").get(0).options.length = 0; //清空
$.getJSON("/Persons/GetCities/" + $(this).val(), null , function (data) {
$.each(data, function (i, item) {
$("<option></option>").val(item["ID"]).text(item["CityName"]).appendTo($("#drpCity"));
});
});
});
});
</script>

@Html.DropDownList("drpProvince",null,"请选择")
@Html.DropDownList("drpCity", null,"请选择")

Action:

public ActionResult Create()
{
List<Provinces> list = db.Provices.ToList();
ViewData["drpProvince"] = new SelectList(list, "ID", "ProvinceName");
ViewData["drpCity"] = new List<SelectListItem>();
return View();
}

//返回城市列表
public ActionResult GetCities(int? id)
{
List<Cities> list = db.Cities.Where(q => q.ProvincesID == id).ToList();
if (Request.IsAjaxRequest())
{
return Json(list, JsonRequestBehavior.AllowGet);
}
else
{
return View("");
}
}


Harry1224 2011-09-02
  • 打赏
  • 举报
回复
学习观摩
  • 打赏
  • 举报
回复
顶!顶!顶!顶!
子夜__ 2011-09-02
  • 打赏
  • 举报
回复
Eagle Liang 2011-07-29
  • 打赏
  • 举报
回复
别沉了~~!~!~!
Eagle Liang 2011-07-29
  • 打赏
  • 举报
回复
顶一下....帮帮忙

62,185

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧