mon formulaire doit être à l'intérieur ou à l'extérieur de mon modèle d'éditeur?
-
27-10-2019 - |
Question
J'utilise des modèles de l'éditeur dans ASP.net MVC. Au cas où je mettais le formulaire dans le modèle de l'éditeur ou à l'extérieur du modèle?
Exemple:
Inside
~ / Vues / Produits / Create.cshtml
@Html.EditorForModel()
~ / Vues / Produits / EditorTemplates / CreateProduct.cshtml
@using(Html.BeginForm())
{
@Html.EditorFor(model => model.Name)
<input type="submit" value="Save" />
}
En dehors
~ / Vues / Produits / Create.cshtml
@using(Html.BeginForm())
{
@Html.EditorForModel()
<input type="submit" value="Save" />
}
~ / Vues / Produits / EditorTemplates / CreateProduct.cshtml
@Html.EditorFor(model => model.Name)
La solution
Bien que ni voie est « mauvaise », je dirais certainement que l'extérieur est meilleur .
A form
contribue au Flux de votre application. Lorsque vous essayez de suivre le flux, il va généralement Controller > Voir , afin de mettre un form
en une vue partielle ne fera que vous donner des maux de tête.
Dans ma demande, tous form
s sont toujours dans la page de la vue principale, de sorte que tous les modèles de l'éditeur et éléments d'interface ne sont pas conscients du « flux » de l'application.
Autres conseils
Qu'est-ce que vous convient le mieux, Il n'y a pas de réponses bien et le mal à cette question.
Non de HtmlHelper du cadre mis étiquette <form>
tandis que la grille de commande de Telerik ne met <form>
, donc je suppose que les deux façons sont bonnes.
Mais je préfère mettre le <form>
en dehors du modèle, il peut donc être plus souple, si vous mettez le <form>
à l'intérieur du modèle que vous pourriez avoir des formes imbriquées qui ne sont pas pris en charge dans l'un des navigateurs.
donc je ferais une vue partielle d'un <form>
et un modèle d'éditeur pour HtmlHelpers
simple,