Respuestas:
Como parte de htmlAttributes, p. Ej.
Html.BeginForm(
action, controller, FormMethod.Post, new { enctype="multipart/form-data"})
O puede pasar nullpor acción y controlador para obtener el mismo objetivo predeterminado que para BeginForm () sin ningún parámetro:
Html.BeginForm(
null, null, FormMethod.Post, new { enctype="multipart/form-data"})
También puede usar la siguiente sintaxis para la versión fuertemente tipada:
<% using (Html.BeginForm<SomeController>(x=> x.SomeAction(),
FormMethod.Post,
new { enctype = "multipart/form-data" }))
{ %>
Sé que esto es antiguo, pero puede crear una extensión personalizada si necesita crear ese formulario una y otra vez:
public static MvcForm BeginMultipartForm(this HtmlHelper htmlHelper)
{
return htmlHelper.BeginForm(null, null, FormMethod.Post,
new Dictionary<string, object>() { { "enctype", "multipart/form-data" } });
}
El uso se convierte en
<% using(Html.BeginMultipartForm()) { %>