ฉันจะเพิ่มenctype="multipart/form-data"
ฟอร์มไปยังฟอร์มที่สร้างขึ้นโดยใช้<% 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()) { %>