2011-10-04 81 views
2

我有一個選擇列表,我想要選擇的值並將其傳遞給控制器​​,我該怎麼做?從選擇列表中獲取值到控制器

這是我的代碼

<select id="SelectImageType" onchange='submit();'> 
    <option value="0">Select Image Type</option> 
    <%foreach (var type in Model.ImageTypes) 
    { %> 
     <option value="<%=type.Key%>"><%=type.Name%></option> 
    <%} %> 
</select> 

感謝

回答

0

使用名稱,並在您的控制器使用形式收集,收集選定值

<select id="SelectImageType" onchange='submit();' name ="image"> 
<option value="0">Select Image Type</option> 
<%foreach (var type in Model.ImageTypes) 
{ %> 
     <option value="<%=type.Key%>"><%=type.Name%></option> 
<%} %> 
</select> 

在你的控制器動作

 ActionResult YourActionName(FormCollection collection){ 
     var selectedImages = collection["image"]; 
    } 
+0

感謝靈光,但我有一個錯誤。 (XHTML 1.0 Transitional):屬性'name'不是元素'option'的有效屬性。任何想法。 – user852610

+0

對不起,可能不好使用移動名稱來選擇,我修改了上面的代碼 –

0

最好的原因是使用DropDownListFor,然後將結果添加到模型中。

查看:

<%: Html.DropDownListFor(m => m.SelectedImageType, new SelectList((IEnumerable)Model.ImageTypes, "Key", "Name"))%> 

控制器:

ActionResult YourActionName(Model model){ 
    var selectedImages = m.SelectedImageType; 
}