MVC 4 Partielle avec Contrôleur séparé et Vue
J'ai développé ASP.NET les Formulaires pour un certain temps et maintenant suis en train d'apprendre MVC, mais il ne fait pas sens total comment l'obtenir pour faire ce que je veux. Peut-être que j'ai besoin de penser les choses différemment. Voici ce que j'essaie de faire avec un exemple:
Objectif - Utiliser un fichier partiel, qui peut être placé n'importe où sur le site qui accepte un paramètre. Ce paramètre sera utilisé pour aller à la base de données et transmettre le modèle résultant de la vue. La vue va alors afficher une ou plusieurs des modèles de propriétés.
Ce n'est pas mon code, mais montre ce que je suis en train de faire.
Fichier: Contrôleurs/UserController.cs
[ChildActionOnly]
public ActionResult DisplayUserName(string userId)
{
MyDataContext db = new MyDataContext()
var user = (from u in db.Users where u.UserId = userId select u).FirstOrDefault();
return PartialView(user);
}
Fichier: Views/Shared/_DisplayUserName.cs
@model DataLibrary.Models.User
<h2>Your username is: @Model.UserName</h2>
Fichier: Vues/À Propos De/Index.cshtml
@{
ViewBag.Title = "About";
}
<h2>About</h2>
{Insert Statement Here}
Je sais à quel point j'ai besoin de rendre un partiel appelé DisplayUserName, mais comment fait-il savoir quel point de vue à utiliser et comment puis-je passer mon code d'utilisateur pour le partiel?
C'est ce que j'attends est une question très simple, mais je suis encore à trouver un tutoriel qui couvre cette.
Merci d'avance pour votre aide.
OriginalL'auteur McGaz | 2013-03-01
Vous devez vous connecter pour publier un commentaire.
Vous devez appeler le code Html.Action ou Html.RenderAction comme:
Votre action devrait être comme:
Cela devrait faire l'affaire.
OriginalL'auteur Husein Roncevic
J'ai toujours assurez-vous de fermer le MyDataContext... Peut-être enfermer le tout dans une instruction d'utilisation... Si vous remarquez quand VS le fait pour vous de la création de l'entité comme une variable privée dans la Classe du Contrôleur (en dehors des contrôleurs) et puis fermez-le avec la méthode dispose... de toute façon je crois que vous devez vous assurer que ces ressources sont libérées à garder les choses en cours d'exécution en douceur. Je sais que c'est pas la question, mais j'ai vu qu'il avait l'air vulnérable.
OriginalL'auteur Michael Puckett II