0
我正在創建一個使用多個存儲過程來填充下拉列表的頁面。存儲過程的參數是前一個下拉列表的選擇(即它們需要按順序運行)。什麼是實現此功能的最佳方式?我正在使用ASP MVC,並且很難將結果傳遞給視圖模型以再次呈現。多個存儲過程ASP MVC
我正在創建一個使用多個存儲過程來填充下拉列表的頁面。存儲過程的參數是前一個下拉列表的選擇(即它們需要按順序運行)。什麼是實現此功能的最佳方式?我正在使用ASP MVC,並且很難將結果傳遞給視圖模型以再次呈現。多個存儲過程ASP MVC
如果我正確理解你的問題,你正試圖有級聯下拉。 並且您使用存儲過程綁定您的下拉列表。
下面是一個例子:我有兩個下拉菜單。學校和課程。當你在學校改變選定的價值時,課程下拉將改變它的價值。
這是控制器:
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>