複数のストアド プロシージャを使用してドロップダウン リストを設定するページを作成しています。ストアド プロシージャには、前のドロップダウン リストで選択したパラメータがあります (つまり、順番に実行する必要があります)。この機能を実装する最良の方法は何ですか? ASP MVC を使用していますが、結果をビューモデルに渡して再度レンダリングするのに苦労しています。
1 に答える
0
私があなたの質問を正しく理解していれば、カスケード ドロップダウンを使用しようとしています。そして、ストアドプロシージャを使用してドロップダウンをバインドしています..そうですか??
以下に例を示します。2 つのドロップダウンがあります。学校とコース。学校で選択した値を変更すると、コースのドロップダウンの値が変更されます。
これはコントローラーです:
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>
于 2013-01-15T20:13:02.480 に答える