Asp.net MVC5 частичное представление на основе выпадающего списка
Привет,
У меня есть две таблицы, Class и ClassFee, связанные с полем ClassID, и я хочу, чтобы, когда класс выбран в раскрывающемся списке классов, то ClassFee должен быть извлечен и отображен.
Для этого я создал метод в контроллере.
[HttpGet] public PartialViewResult GetClassFee(int? Classid) { ClassFeeVM CFee = new ClassFeeVM(); if (Classid != null) { List<ClassFee> classfees = db.ClassFees.Where(p => p.tblClass.ClassID == Classid).ToList(); foreach (var item in classfees) { CFee.ClassFee = item.ClassFee1; CFee.ClassID = item.ClassID; CFee.ClassName = item.tblClass.ClassName; CFee.FeeType = item.tblFeeType.FeeType; } // ViewBag.ClassFees = CFee; } return PartialView("_ClassFee", CFee); }
Ошибка заключается в том, что вместо значений он отображается как есть
The model item passed into the dictionary is of type 'SchoolMVC.Models.ViewModel.ClassFeeVM', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable`1[SchoolMVC.Models.ViewModel.ClassFeeVM]'.
Что я уже пробовал:
Мой код JQuery/Ajax для изменения выпадающего списка даже есть:
$(function () { $("#ClassID").on("change", function () { var url = '@Url.Action("GetClassFee", "ClassFees")' + "?Classid=" + $(this).val(); $("#ClassFeeDetails").load(url, function (data) { $("#ClassFeeDetails").html(data); }); }); });
И моя частичная точка зрения такова:
@model IEnumerable<SchoolMVC.Models.ViewModel.ClassFeeVM> @foreach (var item in Model) { <p>@item.ClassFee</p> <p>@item.FeeType</p> <p>@item.ClassName</p> }
Sandeep Mewara
Кажется, ты забыл поделиться тем, где застрял.