从ASP MVC3下拉列表中获取所选项目

时间:2013-01-22 20:33:33

标签: asp.net-mvc asp.net-mvc-3

我正在尝试,没有任何运气,使用控制器下拉列表中的选定项目。我已经逐步完成了代码,可以看到每个字符串值在分配后都是“null”。

以下是View

中的代码
<span id="searchBox" class="boxMe" >
      <select id="Table" title="Table" style="font-size:8pt;">
        <option value="default">--Table Name--</option>
        <option value="CE">CE</option>
        <option value="PT">PT</option>
      </select>
      <select id="IssueType" style="font-size:8pt;">
        <option value="default">--Issue Type--</option>
        <option value="W">Warning</option>
        <option value="E">Error</option>
      </select>
      <select id="Status" style="font-size:8pt;">
        <option value="default">--Status Type--</option>
        <option value="O">Open</option>
        <option value="U">Under Review</option>
      </select>


    <input type="image" src="@Url.Content("~/Content/Images/Filter.bmp")" alt="Filter" style="padding-top: 0px;" />
    <a href="#" style="padding-left: 30px;"></a>
</span>

这就是我在控制器中所拥有的。由于这是一个搜索过滤器,我现在在Index()方法中有这个。

    public ViewResult Index(FormCollection dropDownSelection)
    {
        string table = dropDownSelection["Table"];
        string issue = dropDownSelection["IssueType"];
        string status = dropDownSelection["Status"];

        return View(db.FollowUpItems.ToList());
    }

1 个答案:

答案 0 :(得分:2)

您应该使用name代码中的<select>属性,而不是idname用作表单帖子中的键:

<select name="Table" title="Table" style="font-size:8pt;">

如果您还没有,还应将输入包装在<form>标记中:

<span ...>
    <form method="post">
        <!-- Inputs -->
    </form>
</span>