2011-10-04 52 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; 
}