2010-06-09 93 views
9

我有一个表单发布到MVC操作。我想从操作中的FormCollection中拉出选定的下拉列表项。我该怎么做?从MVC中的FormCollection获取选定的下拉列表值

我的HTML表单:

<% using (Html.BeginForm()) 
    {%> 
    <select name="Content List"> 
    <% foreach (String name in (ViewData["names"] as IQueryable<String>)) { %> 
      <option value="<%= name %>"><%= name%></option> 
    <% } %> 
    </select> 
    <p><input type="submit" value="Save" /></p> 
<% } %> 

我的行动:

回答

10

开始通过给您select标签的有效name。有效的名称不能包含空格。

<select name="contentList"> 

,然后取出从表单参数集合选定值:

var value = collection["contentList"]; 

甚至更​​好:不使用任何集合,使用具有相同的名称作为名称的动作参数你的选择,并保留默认的模型粘结剂填充它:

[HttpPost] 
public ActionResult Index(string contentList) 
{ 
    // contentList will contain the selected value 
    return RedirectToAction("Details", contentList); 
} 
+0

哦,快点!谢谢,那就是诀窍。我尝试了两种方法,但我喜欢你如何使用动作参数。 – 2010-06-09 10:58:15

相关问题