您的位置:首页 > 编程语言 > ASP

asp.net mvc 两级分类联动方法示例

2013-08-01 13:11 417 查看



前台视图代码

<%:Html.DropDownList("AwardClassMainID","请选择")%>

<%:Html.DropDownList("SubID",new List<SelectListItem> { (new SelectListItem(){Text="请选择",Value="0"})})%>

//jquery代码

$("#AwardClassMainID").change(function () {

var url ="../AwardSubClasic/GetClasicList/"; //规则是控制器/方法/参数

$.getJSON(url, { firstclassid:$("#AwardClassMainID").val() }, function (data) {

$('#SubID').html('');

$('#SubID').append("<optionvalue=0>请选择</option>")

$.each(data, function (i,item) {

$('#SubID').append($("<option></option>").val(item.SecondClassID).html(item.ClassName));

});

});

});

后台Controller里代码

//view里面加一级分类的数据

ViewBag.AwardClassMainID = new SelectList(bll.GetAll(),"ClassID", "ClassName");

<summary>

/// json返回数据-通过分类ID,查询此分类的二级分类

/// </summary>

/// <param name="id">一级分类ID</param>

/// <returns></returns>

[HttpGet]

public JsonResult GetClasicList(string firstclassid)

{

List< TrainingSecondClass > Classlist = m_BLL.GetClassDropDwonList(firstclassid);

return Json(Classlist.ToList<AwardSubClasic>(),JsonRequestBehavior.AllowGet);

}

IBLL里面加接口声明

List<TrainingSecondClass>GetClassDropDwonList(string id);

BLL里面

public List<TrainingSecondClass> GetClassDropDwonList(stringid)
{

return repository.GetClassDropDwonList(db,id).ToList<TrainingSecondClass>();

}

repository里面加实现方法

public List<TrainingSecondClass>GetClassDropDwonList(SysEntities db, string FirstClassID)
{

List<TrainingSecondClass> result =new List<TrainingSecondClass>();

var n = db.TrainingSecondClass.Where(p => p.FirstClassID ==FirstClassID).ToList();

foreach (var c in n)

{

result.Add(new TrainingSecondClass

{//取出json调用的数据

SecondClassID =c.SecondClassID,

ClassName = c.ClassName

});

}

return result;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: