mon formulaire doit être à l'intérieur ou à l'extérieur de mon modèle d'éditeur?

StackOverflow https://stackoverflow.com/questions/8841337

  •  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)
Était-ce utile?

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 forms 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,

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top