0

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

以下是视图中的代码

<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());
    }
4

1 回答 1

2

您应该在标签name上使用该属性<select>,而不是id. 这name是表单帖子中用作键的内容:

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

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

<span ...>
    <form method="post">
        <!-- Inputs -->
    </form>
</span>
于 2013-01-22T20:41:03.717 回答