[asp.net-mvc] HTML.BeginForm 및 속성 추가

enctype="multipart/form-data"를 사용하여 생성 된 양식 에 추가 하려면 어떻게해야 <% Html.BeginForm(); %>합니까?



답변

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()) { %>


답변