Réponses:
Dans le cadre de htmlAttributes, par exemple
Html.BeginForm(
action, controller, FormMethod.Post, new { enctype="multipart/form-data"})
Ou vous pouvez passer null
pour action et contrôleur pour obtenir la même cible par défaut que pour BeginForm () sans aucun paramètre:
Html.BeginForm(
null, null, FormMethod.Post, new { enctype="multipart/form-data"})
Vous pouvez également utiliser la syntaxe suivante pour la version fortement typée:
<% using (Html.BeginForm<SomeController>(x=> x.SomeAction(),
FormMethod.Post,
new { enctype = "multipart/form-data" }))
{ %>
Je sais que c'est ancien, mais vous pouvez créer une extension personnalisée si vous avez besoin de créer ce formulaire encore et encore:
public static MvcForm BeginMultipartForm(this HtmlHelper htmlHelper)
{
return htmlHelper.BeginForm(null, null, FormMethod.Post,
new Dictionary<string, object>() { { "enctype", "multipart/form-data" } });
}
L'utilisation devient alors
<% using(Html.BeginMultipartForm()) { %>