135

Làm thế nào tôi có thể thêm enctype="multipart/form-data"về một hình thức được tạo bằng cách sử dụng <% Html.BeginForm(); %>?

|
246

Là một phần của htmlAttribut, vd

Html.BeginForm(
    action, controller, FormMethod.Post, new { enctype="multipart/form-data"})

Hoặc bạn có thể truyền nullcho hành động và bộ điều khiển để có cùng mục tiêu mặc định như với BeginForm () mà không có bất kỳ tham số nào:

Html.BeginForm(
    null, null, FormMethod.Post, new { enctype="multipart/form-data"})
|
19

Bạn cũng có thể sử dụng cú pháp sau cho phiên bản được gõ mạnh:

<% using (Html.BeginForm<SomeController>(x=> x.SomeAction(), 
          FormMethod.Post, 
          new { enctype = "multipart/form-data" })) 
   { %>
|
12

Tôi biết điều này đã cũ nhưng bạn có thể tạo tiện ích mở rộng tùy chỉnh nếu bạn cần tạo lại biểu mẫu đó nhiều lần:

public static MvcForm BeginMultipartForm(this HtmlHelper htmlHelper)
{
    return htmlHelper.BeginForm(null, null, FormMethod.Post, 
     new Dictionary<string, object>() { { "enctype", "multipart/form-data" } });
}

Sử dụng sau đó chỉ trở thành

<% using(Html.BeginMultipartForm()) { %>
|

Câu trả lời của bạn (> 20 ký tự)

Bằng cách click "Đăng trả lời", bạn đồng ý với Điều khoản dịch vụ, Chính sách bảo mật and Chính sách cookie của chúng tôi.

Không tìm thấy câu trả lời bạn tìm kiếm? Duyệt qua các câu hỏi được gắn thẻ hoặc hỏi câu hỏi của bạn.