asp.net mvc c#enctype

时间:2010-11-25 13:54:53

标签: c# asp.net-mvc

如何在

中添加的enctype
<% using (Html.BeginForm()) {%>

2 个答案:

答案 0 :(得分:3)

如上所述,您还需要具有actionid和方法的特殊设置(BeginForm()无论如何都会为您添加此内容。)

要添加编码类型,您至少需要使用重载来指定mvc操作,控制器和表单方法,如下所示:

using(Html.BeginForm("Index", "Home", FormMethod.Post, new{enctype="multipart/form-data"}))

答案 1 :(得分:0)

你不能。

表单元素需要 actionmethod属性。

请参阅spec

<!ELEMENT FORM - - (%block;|SCRIPT)+ -(FORM) -- interactive form -->
<!ATTLIST FORM
  %attrs;                              -- %coreattrs, %i18n, %events --
  action      %URI;          #REQUIRED -- server-side form handler --
  method      (GET|POST)     GET       -- HTTP method used to submit the form--
  enctype     %ContentType;  "application/x-www-form-urlencoded"
  accept      %ContentTypes; #IMPLIED  -- list of MIME types for file upload --
  name        CDATA          #IMPLIED  -- name of form for scripting --
  onsubmit    %Script;       #IMPLIED  -- the form was submitted --
  onreset     %Script;       #IMPLIED  -- the form was reset --
  accept-charset %Charsets;  #IMPLIED  -- list of supported charsets --
  >

从DTD片段中可以看出,action属性 #REQUIRED methodGETPOST)一样

这就是Html.BeginForm()自动添加它们的原因。