En _Layout.cshtml
, j'ai cette partie du CodePourquoi ne puis-je pas faire de sous-requête pour une vue partielle pour chaque requête?
<div>
@Html.Action("BestStudent", "Student")
</div>
Dans Controller Student j'ai créé la méthode BestStudent comme ci-dessous
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);
}
}
Vues/dossier partagé J'ai créé la vue partielle du nom _BestStudent.cshtml
fortement typé pour le modèle d'étudiant comme ci-dessous:
@model UniversityApp.Models.Student
<h3 class="text-danger">Student of the year</h3>
Name : @Model.FirstName
Last Name : @Model.LastName
City: @Model.City
La construction réussissent mais quand je l'exécute j'ai eu un excepti sur comme:
« Erreur d'exécuter la demande de l'enfant pour gestionnaire « System.Web.Mvc.HttpHandlerUtil ...
et le point d'arrêt à la ligne de code ci-dessous:
<div>
@Html.Action("BestStudent", "Student")
</div>
donc je suppose que quelque chose se passe mal, mais je ne peux pas comprendre ce que
ce sont u font exactement? dites-moi votre scénario – Valkyrie
Parce que votre requête renvoie une collection de 'Student', pas un seul' Student' qui est requis par votre vue (d'où une exception est levée). Changer la requête pour ajouter '.FirstOrDefault()' –
également mis l'erreur complète pas seulement une partie de celui-ci – Valkyrie