나는 거의 정확히 같은MVC3 캐스케이드 드롭 다운 및 JSON 객체가
Easiest way to create a cascade dropdown in ASP.NET MVC 3 with C#
내보기에 설명 MVC3 내 계단식 드롭 다운 목록을 구현했습니다에게
<script type="text/javascript">
$(function() {
$('#CategoryID').change(function() {
var selectedCategoryId = $(this).val();
$.getJSON('@Url.Action("SelectCategory")', { categoryid: selectedCategoryId }, function (subcategories) {
var subsSelect = $('#SubCategoryID');
subsSelect.empty();
$.each(subcategories, function (index, subcat) {
subsSelect.append(
$('<option/>')
.attr('value', subcat.SubCategoryID)
.text(subcat.SubCategoryName)
);
});
});
});
});
</script>
내 컨트롤러가 있다고했다 그
public ActionResult SelectCategory(int categoryid)
{
var subs = db.SubCategories.Where(s => s.CategoryID == categoryid).ToList();
return Json(subs, JsonRequestBehavior.AllowGet);
}
그리고 작동하지 않았습니다.
public class JsonSubCat
{
public int SubCategoryID { get; set; }
public string SubCategoryName { get; set; }
}
public ActionResult SelectCategory(int categoryid)
{
var subs = db.SubCategories.Where(s => s.CategoryID == categoryid).ToList();
var testsubs = new List<JsonSubCat>();
foreach (var sub in subs)
{
testsubs.Add(new JsonSubCat() { SubCategoryID = sub.SubCategoryID, SubCategoryName = sub.SubCategoryName });
}
return Json(testsubs, JsonRequestBehavior.AllowGet);
}
내가 적절한 형식으로 데이터 소스에서 얻을 나의 실체를 변환하는 질문 같은데 : 나는 컨트롤러에게 다음과 같은 방법을 수정할 때
그러나, 그것은했다. 이것을 구현하는 올바른 방법은 무엇입니까?
첫 번째 SelectCategory에서 AJAX 응답을 볼 불을 지르고 사용할 수 또는 유사한한다 동작. JSON 객체를 반환하는 방법을 확인하고 JS가 해당 형식과 일치하는지 확인하십시오. – Daveo