Si une action d'obtention retourne une vue avec un modèle "voiture". L'affichage affiche les informations de l'objet et prend entrée pour publier sous un formulaire à une autre action qui prend un objet de type "paiement" p>
Le modèle sur la vue est de type voiture et me donne le support HTML fortement supérieur et certaines autres fonctionnalités telles que DisplayText. Mais pour poster, je ne sais pas HTMLHelper Support comme TextBox (x => x.Amount, je dois le faire comme @ html.textbox ("montant" ... Sa possible, mais est-ce la seule option? P>
5 Réponses :
Vous pouvez le faire: avec cette méthode d'extension: p>
Si je comprends votre problème correctement, essayez: Vous pouvez également créer un modèle d'éditeur pour le paiement. Voir Cette page pour plus de détails sur le faire . P> Si je suis mal compris, un exemple de code pourrait aider. P> p>
Si je comprends bien votre question correctement, voici un certain code que je viens d'écrire pour l'un de mes projets de faire quelque chose de similaire. Cela ne nécessite rien de spécial comme ce qui a été suggéré par Max Toro.
Solution la plus propre. Fonctionne comme un charme.
Ajout à la mise en œuvre par Max Toro, voici un couple de plus que lorsque vous avez un modèle non nul, mais ne disposez pas d'informations de type statique (ces deux méthodes doivent être intégrées à la mise en œuvre maximale).
Ces méthodes fonctionnent bien lorsque vous avez récupéré dynamiquement des noms de propriétés pour un modèle et que vous devez appeler les méthodes HTMLHelper non génériques qui prennent un nom au lieu d'une expression: p> pour Exemple. P> public static HtmlHelper HtmlHelperFor( this HtmlHelper htmlHelper, object model )
{
return HtmlHelperFor( htmlHelper, model, null );
}
public static HtmlHelper HtmlHelperFor( this HtmlHelper htmlHelper, object model, string htmlFieldPrefix )
{
var t = model.GetType();
var viewDataContainer = CreateViewDataContainer( htmlHelper.ViewData, model );
TemplateInfo templateInfo = viewDataContainer.ViewData.TemplateInfo;
if( !String.IsNullOrEmpty( htmlFieldPrefix ) )
templateInfo.HtmlFieldPrefix = templateInfo.GetFullHtmlFieldName( htmlFieldPrefix );
ViewContext viewContext = htmlHelper.ViewContext;
ViewContext newViewContext = new ViewContext( viewContext.Controller.ControllerContext, viewContext.View, viewDataContainer.ViewData, viewContext.TempData, viewContext.Writer );
var gt = typeof( HtmlHelper<> ).MakeGenericType( t );
return Activator.CreateInstance( gt, newViewContext, viewDataContainer, htmlHelper.RouteCollection ) as HtmlHelper;
}
pour asp.net core 2