Відповіді:
Як частина htmlAttributes, наприклад
Html.BeginForm(
action, controller, FormMethod.Post, new { enctype="multipart/form-data"})
Або ви можете перейти null
до дії та контролеру, щоб отримати ту саму ціль за замовчуванням, що і для BeginForm (), без будь-яких параметрів:
Html.BeginForm(
null, null, FormMethod.Post, new { enctype="multipart/form-data"})
Для сильно набраної версії ви також можете використовувати такий синтаксис:
<% using (Html.BeginForm<SomeController>(x=> x.SomeAction(),
FormMethod.Post,
new { enctype = "multipart/form-data" }))
{ %>
Я знаю, що це старе, але ви можете створити спеціальне розширення, якщо вам потрібно створити цю форму знову і знову:
public static MvcForm BeginMultipartForm(this HtmlHelper htmlHelper)
{
return htmlHelper.BeginForm(null, null, FormMethod.Post,
new Dictionary<string, object>() { { "enctype", "multipart/form-data" } });
}
Використання тоді просто стає
<% using(Html.BeginMultipartForm()) { %>