MVC+Jquery 的下拉框

来源:互联网 发布:网易云网络连接失败 编辑:程序博客网 时间:2024/05/01 22:08

今天尝试做了下MVC版本的下拉框,第一个下拉框采用HTML类方式家里,第二个采用html原始标签建立;

前台:

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Index</title>
    <script src="../../Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            OnSchoolChange();
            $("#school").change(function () {
                OnSchoolChange();
            });
        });

        function OnSchoolChange() {
            var selec = $("#school").val();
            $("#student").get(0).options.length = 0;
            $.getJSON("/Home/GetUserInfo", { SID: selec }, function (data) {
                $.each(data, function (index, value) {
                    $("<option></option>").val(index).html(value.Name).appendTo($("#student"));
                });
            });
        }
    </script>
</head>
<body>
    <div>
        <% var school = ViewData["school"] as SelectList; %>
        <%=Html.DropDownList("school", school)%>
        <select id="student"></select>
    </div>
</body>
</html>

后台(Controller):

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

namespace MvcUI.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            var list = GetSchool(); 
            SelectList sl = new SelectList(list, "ID", "Name");
            ViewData["school"] = sl;

            return View();
        }


        private List<School> GetSchool()
        {
            List<School> list = new List<School>();
            School s1 = new School() { ID = 1, Name = "石柱中学" };
            School s2 = new School() { ID = 2, Name = "石柱小学" };
            School s3 = new School() { ID = 3, Name = "石柱民族中学" };
            list.AddRange(new School[] { s1, s2, s3 });
            return list;
        }

        public ActionResult GetUserInfo(int SID)
        {
            //List<SelectListItem>
            List<UserInfo> list = new List<UserInfo>();
            UserInfo s1 = null;
            UserInfo s2 = null;
            switch (SID)
            {
                case 1:
                    s1 = new UserInfo() { ID = 1, Name = "小谭1_1", School = 1 };
                    s2 = new UserInfo() { ID = 1, Name = "小谭1_2", School = 1 };
                    list.AddRange(new UserInfo[] { s1, s2 });
                    break;
                case 2:
                    s1 = new UserInfo() { ID = 1, Name = "小谭2_1", School = 1 };
                    s2 = new UserInfo() { ID = 1, Name = "小谭2_2", School = 1 };
                    list.AddRange(new UserInfo[] { s1, s2 });
                    break;
                case 3:
                    s1 = new UserInfo() { ID = 1, Name = "小谭3_1", School = 1 };
                    s2 = new UserInfo() { ID = 1, Name = "小谭3_2", School = 1 };
                    list.AddRange(new UserInfo[] { s1, s2 });
                    break;
                  
            }
            return Json(list, JsonRequestBehavior.AllowGet);
        }

    }
}

到此,该示例编写完毕

原创粉丝点击