页面2级分类

Posted on 2013-08-09 09:12  !sylar  阅读(221)  评论(0编辑  收藏  举报
 1  public ActionResult Form(int? id) 
 2         {
 3             QueryType();
 4             EntryModel model = new EntryModel();
 5             if (id != null)
 6             {
 7                 model = business.Get(id.Value);
 8             }
 9             return View(model);
10         }
11 
12         private void QueryType()
13         {
14             EntryTypeRepository rep = new EntryTypeRepository();
15             var list = rep.QueryByParentId(0);
16             var select = new List<SelectListItem>();
17             foreach (var item in list)
18             {
19                 select.Add(new SelectListItem() { Text=item.Name,Value = item.Id.ToString()});
20             }
21             ViewBag.TypeList = select;
22         }
23 
24         public ActionResult GetSecondType(int id = 0)
25         {
26             var list = new List<EntryTypeModel>();
27             if (id != 0)
28             {
29                 EntryTypeRepository rep = new EntryTypeRepository();
30                 list = rep.QueryByParentId(id);
31             }
32             else{
33                 list = new List<EntryTypeModel>();
34             }
35             return Json(list, JsonRequestBehavior.AllowGet);
36         }
37 
38         [HttpPost]
39         public ActionResult Form(EntryModel model)
40         {
41             if (ModelState.IsValid)
42             {
43                 if (model.Id == 0)
44                 {
45                     business.Add(model);
46                 }
47                 else
48                 {
49                     business.Update(model.Id,model);
50                 }
51             }
52             return RedirectToAction("List");        
53         }
  <li>
    @Html.LabelFor(m => m.TypeId)
      @Html.DropDownList("Parent", ViewBag.TypeList as List<SelectListItem>, new { onchange = "GetTypeByParentID(this)" })
      子类:<select id="TypeId" name="TypeId" style="width:100px;">
    <option value="0">请选择子类</option>
  </select>
    @Html.ValidationMessageFor(m => m.TypeId)
 1 <script type="text/javascript">
 2     $(function () {
 3         GetTypeByParentID($("#Parent"));
 4     });
 5     function GetTypeByParentID(id) {
 6         $("#TypeId").empty();
 7         $.ajax({
 8             url: '/Entry/GetSecondType/' + $("#Parent").val(),
 9             type: "get",
10             datatype: "json",
11             success: function (data) {
12                 if (data.length == 0) {
13                     $("<option></option>")
14                     .val("0")
15                     .text("请选择子类")
16                     .appendTo($("#TypeId"));
17                 }
18                 $.each(data, function (i, item) {
19                     $("<option></option>")
20                     .val(item["Id"])
21                     .text(item["Name"])
22                     .appendTo($("#TypeId"));
23                 });
24             }
25         });
26     }
27 </script>