В _Layout.cshtml
, у меня есть часть кодаПочему я не могу выполнить подзапрос для частичного просмотра для каждого запроса?
<div>
@Html.Action("BestStudent", "Student")
</div>
В Student Controller я создал метод BestStudent ниже
public class StudentController : Controller
{
private UniversityInitial dbAllStudents = new UniversityInitial();
[ChildActionOnly]
public ActionResult BestStudent()
{
var best = dbAllStudents.Students
.Where(s => s.LastName.StartsWith("M")&s.FirstName.StartsWith("E") & s.City.StartsWith("T"));
return PartialView("_BestStudent", best);
}
}
В Views/Shared папке Я создал Partial View с именем _BestStudent.cshtml
сильно типизированных для модели Студента, как показано ниже:
@model UniversityApp.Models.Student
<h3 class="text-danger">Student of the year</h3>
Name : @Model.FirstName
Last Name : @Model.LastName
City: @Model.City
Построение преуспевает, но когда я его запускаю, я получил один e xception как:
«Ошибка при выполнении запроса ребенка для обработчика«System.Web.Mvc.HttpHandlerUtil ...
и точка останова в строке кода ниже:
<div>
@Html.Action("BestStudent", "Student")
</div>
Итак, я думаю, что здесь что-то не так, но я не могу понять, что такое
то, что у делать именно? скажите мне свой сценарий – Valkyrie
Поскольку ваш запрос возвращает коллекцию 'Student', а не один« Student », который требуется вашему представлению (поэтому генерируется исключение). Измените запрос на добавление '.FirstOrDefault()' –
также поместили полную ошибку не только в его состав – Valkyrie