De retour d'une vue partielle à partir d'un contrôleur?
Donc, nous pouvons retourner une vue partielle à partir d'un contrôleur comme ceci:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MvcApplication1.Models;
namespace MvcApplication1.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application.";
return View();
}
public ActionResult About()
{
ViewBag.Message = "Your app description page.";
return View();
}
public ActionResult Contact()
{
ViewBag.Message = "Your contact page.";
return View();
}
public PartialViewResult Address()
{
Address a = new Address { Line1 = "111 First Ave N.", Line2 = "APT 222", City = "Miami", State = "FL", Zip = "33133" };
return PartialView(@"~/Views/Home/_Address.cshtml", a);
}
}
}
Mais, comment suis-je censé utiliser le retourné vue partielle? J'ai créé _Address.cshtml dans Views/Home, comme ceci:
@model MvcApplication1.Models.Address
<p>
This is a partial view of address.
</p>
<p>
@Model.City
</p>
Et, à la fin de Vues/Accueil/Contactez-nous.cshtml, j'ai ajouté cette ligne:
@Html.Partial(@"~/Views/Home/_Address.cshtml")
Et j'attends de voir la Ville de mon adresse, mais il n'apparaît pas. Je suis confus.
Merci pour le formatage de mon code. J'ai essayé le formatage, mais il refuse de format comme je le voulais.
C'est en fait assez facile. Il suffit de sélectionner votre texte du code, puis appuyez sur la
OK, merci. Vais essayer la prochaine fois.
C'est en fait assez facile. Il suffit de sélectionner votre texte du code, puis appuyez sur la
{}
bouton dans l'éditeur OU assurez-vous que tout cela est en retrait de 4 espaces. Vous pouvez également entourer le code en ligne avec les backticks `code`
OK, merci. Vais essayer la prochaine fois.
OriginalL'auteur Stack0verflow | 2014-03-27
Vous devez vous connecter pour publier un commentaire.
Lors de la partielle prend un autre modèle que la méthode que vous êtes, y compris dans vous avez besoin d'utiliser la surcharge qui prend un paramètre de modèle et de fournir le modèle de la vue. Par défaut, il utilise le même modèle que la, y compris la vue. Généralement, vous ne devez le chemin si c'est dans un autre, non-dossier partagé. Si c'est dans le même dossier du contrôleur, en utilisant simplement le nom devrait faire l'affaire.
D'autre part, si vous vous demandez comment puis-je obtenir la vue partielle d'une action inclus dans ma page, alors vous voulez utiliser la
Action
méthode au lieu de laPartial
méthode.MODIFIER
Pour faire de la partielle de travail vous avez besoin pour passer un
Contact
modèle à la vue d'un contact.c'est parce que vous n'êtes pas le passage d'un
Contact
modèle de la page parent.Mais je suis de passage le @modèle MvcApplication1.Modèles.Adresse de mon _Address.cshtml vue partielle.
Mais alors vous avez pris ma vue partielle de la méthode d'action de l'équation.
c'est là que la deuxième option, le rendu d'une action en vue. C'est l'option que vous souhaitez utiliser si vous souhaitez inclure le résultat (vue partielle) d'une action différente.
OriginalL'auteur tvanfosson
démo pour vous:
si vous pouvez appeler partielle en vue, vous pouvez à l'aide de : @{ Html.RenderPartial("_Test"); }
Non, il ne fonctionne pas.
OriginalL'auteur Linh Tuan