Несколько хранимых процессов ASP MVC

Я создаю страницу, которая использует несколько хранимых процедур для заполнения раскрывающихся списков. У хранимых процедур есть параметры, которые являются выбором из предыдущего выпадающего списка (т.е. их нужно запускать по порядку). Как лучше реализовать этот функционал? Я использую ASP MVC, и мне трудно передать результаты в модель представления для повторного рендеринга.


person Tui Popenoe    schedule 15.01.2013    source источник


Ответы (1)


Если я правильно понял ваш вопрос, вы пытаетесь использовать каскадные выпадающие списки. и вы привязываете свой раскрывающийся список с помощью хранимых процедур.. верно??

Вот пример: у меня есть два выпадающих списка. Школа и курс. Когда вы измените выбранное значение в школе, раскрывающийся список курса изменит свое значение.

Это контроллер:

 public ActionResult SchoolList(int id)
    {
        IEnumerable<SelectListItem> schools = new Util().GetSchoolSelectList(id);
        if (HttpContext.Request.IsAjaxRequest())
            return Json(schools, JsonRequestBehavior.AllowGet);

        return View(schools);
    }

    public ActionResult CourseList(int id)
    {
        IEnumerable<SelectListItem> courses = new Util().GetCourseSelectList(id);
        if (HttpContext.Request.IsAjaxRequest())
            return Json(courses, JsonRequestBehavior.AllowGet);
        return View(courses);
    }

А это jquery:

$("#Schools").change(function () {
        $.getJSON("/Account/CourseList/" + $("#Schools").val(), function (data) {
            var items = "<option>Select your Course</option>";
            $.each(data, function (i, course) {
                items += "<option value='" + course.Value + "'>" + course.Text + "</option>";
            });
            $("#Courses").html(items);
        });
    });

А это HTML:

<select id="Schools" name="UserSchool"></select> 

<select id="Courses" name="UserCourse"></select>
person Crime Master Gogo    schedule 15.01.2013