首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Html.BeginForm和添加属性

Html.BeginForm和添加属性
EN

Stack Overflow用户
提问于 2008-10-19 16:10:43
回答 3查看 125.7K关注 0票数 143

如何将enctype="multipart/form-data"添加到使用<% Html.BeginForm(); %>生成的表单中

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2008-10-19 16:20:14

作为htmlAttributes的一部分,例如

代码语言:javascript
复制
Html.BeginForm(
    action, controller, FormMethod.Post, new { enctype="multipart/form-data"})

或者,您可以为操作和控制器传递null,以获得与不带任何参数的BeginForm()相同的默认目标:

代码语言:javascript
复制
Html.BeginForm(
    null, null, FormMethod.Post, new { enctype="multipart/form-data"})
票数 257
EN

Stack Overflow用户

发布于 2008-11-20 04:15:48

对于强类型版本,还可以使用以下语法:

代码语言:javascript
复制
<% using (Html.BeginForm<SomeController>(x=> x.SomeAction(), 
          FormMethod.Post, 
          new { enctype = "multipart/form-data" })) 
   { %>
票数 19
EN

Stack Overflow用户

发布于 2011-10-17 23:42:34

我知道这很老,但是如果你需要一遍又一遍地创建表单,你可以创建一个自定义扩展:

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

用法就变成了

代码语言:javascript
复制
<% using(Html.BeginMultipartForm()) { %>
票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/216600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档