Odpowiedzi:
W ramach htmlAttributes, np
Html.BeginForm(
action, controller, FormMethod.Post, new { enctype="multipart/form-data"})
Lub możesz przekazać null
akcję i kontroler, aby uzyskać ten sam domyślny cel, co w przypadku BeginForm () bez żadnych parametrów:
Html.BeginForm(
null, null, FormMethod.Post, new { enctype="multipart/form-data"})
Możesz również użyć następującej składni dla wersji silnie wpisanej:
<% using (Html.BeginForm<SomeController>(x=> x.SomeAction(),
FormMethod.Post,
new { enctype = "multipart/form-data" }))
{ %>
Wiem, że to jest stare, ale możesz utworzyć niestandardowe rozszerzenie, jeśli chcesz tworzyć ten formularz w kółko:
public static MvcForm BeginMultipartForm(this HtmlHelper htmlHelper)
{
return htmlHelper.BeginForm(null, null, FormMethod.Post,
new Dictionary<string, object>() { { "enctype", "multipart/form-data" } });
}
Użycie po prostu się staje
<% using(Html.BeginMultipartForm()) { %>