2013-02-15 54 views
0

這裏是我的看法。我正在嘗試進行文件上傳控制。MVC表單多部分/表單數據無法正確呈現

@section termimalContent { 
    @using (Html.BeginForm("Add", "Terminals_Policies", "multipart/form-data")) 
    { 
    @Html.ValidationSummary(true) 
    <fieldset> 
     <legend> 
     <h2> 
      Create new policy</h2> 
     </legend> 
     <p> 
     <strong>Assigning devices to Node:</strong> @Model.GroupName</p> 
     <div class="editor-label"> 
     @Html.LabelFor(model => model.PolicyName) 
     </div> 
     <div class="editor-field"> 
     @Html.EditorFor(model => model.PolicyName) 
     @Html.ValidationMessageFor(model => model.PolicyName) 
     </div> 
     <div class="editor-label"> 
     @Html.LabelFor(model => model.PolicyType) 
     </div> 
     <div class="editor-field"> 
     @Html.DropDownListFor(model => model.SelectedItems, new SelectList(Model.PolicyType, "Value", "Text")) 
     @Html.ValidationMessageFor(model => model.SelectedItems) 
     </div> 
     <div class="editor-label"> 
     <label for="file1"> 
      Filename:</label> 
     </div> 
     <div class="editor-field"> 
     <input type="file" name="files" id="file1" /> 
     </div> 
     <div class="editor-label"> 
     <label for="file2"> 
      Filename:</label> 
     </div> 
     <div class="editor-field"> 
     <input type="file" name="files" id="file2" /> 
     </div> 
     @Html.HiddenFor(model => model.GroupId) 
     @Html.HiddenFor(model => model.GroupName) 
     <p> 
     <input type="submit" value="Create" /> 
     </p> 
    </fieldset> 
    } 
} 

但是HTML被渲染爲:

<form action="/Terminals_Policies/Add/1?Length=19" id="form0" method="post"> 

誰知道我做錯了

回答

1

嘗試:

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

因爲它應該是在格式

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

謝謝,但這會呈現爲

DavidB 2013-02-15 11:45:25

+0

好的抱歉,現在試試更新的答案 – gaurav 2013-02-15 11:47:20

+0

訣竅,謝謝。我應該用類型作家的方法重新編寫一些文檔而不是猴子!將接受這個答案 – DavidB 2013-02-15 11:52:57