ASP .NET MVC 1vues partielles de rendu avec un modèle et HtmlHelper
Je voudrais montrer une base de vue partielle sur un modèle, et je voudrais que d'avoir une commande assez courte pour cela. J'ai donc vu une façon d'utiliser à la fois un HtmlHelper et un contrôleur (et j'utiliserais un autre contrôleur pour cela, pas le contrôleur actuellement utilisé).
Mais d'une manière ou d'une autre, cela donne toujours une erreur, bien que je pense que la méthode commence à ressembler à ce qu'elle devrait être.
Alors qu'est-ce que je fais mal? (Si j'appelle la méthode directement dans la page ASPX, elle réussit, mais il devrait être possible d'utiliser un HtmlHelper pour cela).
public static void RenderPartialView(this HtmlHelper html, string action, string controller, object model)
{
var context = html.ViewContext;
RouteData rd = new RouteData(context.RouteData.Route, context.RouteData.RouteHandler);
rd.Values.Add("controller", controller);
rd.Values.Add("action", action);
rd.Values.Add("model", model);
IHttpHandler handler = new MvcHandler(new RequestContext(context.HttpContext, rd));
handler.ProcessRequest(System.Web.HttpContext.Current);
}
partie dans la ASCX page:
<% Html.RenderPartialView("Show", "Intro", Model.Intro); %>
Erreur donnée: 'System.Web.Mvc.HtmlHelper' ne contient pas une définition pour 'RenderPartialView' et aucune méthode d'extension 'RenderPartialView' accepter un premier argument de type 'System.Web.Mvc.HtmlHelper' peut être trouvé (manque-t-il une directive using ou une référence d'assembly?)
Vous avez raison, mais cela ne fait aucun mal. Même problème quand je laisse cet argument. J'ai ajusté le texte. – Johan