2009-04-07 42 views
0

我在我的asp.net mvc應用程序中有一個文件上傳功能,允許用戶上傳包含應該保存到數據庫的數據的xslx文件。這些數據可能與許多類別中的一個有關。我需要能夠辨別進入的數據應該與哪個類別相關,因此我認爲下拉列表對於這項工作來說是完美的。但是,我不知道如何在用戶發佈數據時獲取列表選定值。這是什麼形式的代碼如下所示:DropDownList與在asp.net中的文件上傳結合使用mvc

<form action="/Import/UploadFiles/" method="post" enctype="multipart/form-data"> 
    <fieldset id="fileImport"> 
     <legend>Importinställningar</legend> 
     <label for="file">Importfil:</label> 
     <input type="file" id="file" name="file" /> 
     <%= Html.DropDownList("Name", (IEnumerable<SelectListItem>)ViewData["assignments"]) %> 
     <p> 
      <input type="submit" value="Spara"/> 
      <input type="button" value="Avbryt" onclick="window.location.href='/'" /> 
     </p> 
    </fieldset> 
</form> 

因爲我處理一個文件上傳的情況我沒有,我可以使用將數據傳遞給控制器​​的操作鏈接,而是輸入與類型提交。

我應該如何閱讀下拉列表的選擇值,以便將其選定值傳遞給控制器​​?

回答

0

有幾種不同的方法可以使這項工作。首先,將一個名爲Name的字符串參數添加到UploadFiles方法中。默認聯編程序將從具有相同名稱的表單值填入。或者,您可以在控制器內部使用ValueProvider - 如果您使用相同的操作來呈現視圖和響應帖子,例如 - 提取名爲Name的參數的值。

public ActionResult UploadFiles(string Name) 
{ 
    ... 
} 

public ActionResult UploadFiles() 
{ 
    string name = this.ValueProvider.ContainsKey("Name") 
         ? this.ValueProvider[key].AttemptedValue 
         : null; 

    ... 
} 
+0

我卡住了我的思維必須通過所產生的URL傳遞的價值。當然這有效。謝謝一堆!花一點時間習慣MVC :) – Ciddan 2009-04-07 20:27:33