如何在多选下拉列表中获取选定值

时间:2014-03-04 06:41:44

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

我有一个使用ASP.NET MVC razor引擎的页面,其中包含以下多选下拉列表的示例代码

<td>
@Html.DropDownList("ddlMyList", ViewBag.MyList as IDictionary<string, IEnumerable<SelectListItem>>, "[ALL]", new { @multiple = "multiple" })                    
</td>

我的问题是如何从下面的代码中的下拉列表中获取所有选定的值

    [HttpPost, ActionName("Index")]
    public ActionResult GenerateStandardReport(FormCollection frm)
        {

                int mySelectedListItems;
                string reportType = string.Empty;
                string startDate = string.Empty;
                string endDate = string.Empty;

                //HOW CAN I GET A SINGLE OR ALL MULTIPLE VALUES SELECTED IN 
                //DROPDOWNLIST HERE?

                if (!string.IsNullOrEmpty(frm["reportType"]))
                {
                    reportType = frm["reportType"];
                }
                if (!string.IsNullOrEmpty(frm["startDate"]))
                {
                    startDate = frm["startDate"];
                }
                if (!string.IsNullOrEmpty(frm["endDate"]))
                {
                    endDate = frm["endDate"];
                }
}

2 个答案:

答案 0 :(得分:0)

我仍然是ASP.NET MVC和Razor的新东西。 jQuery的东西,但由于某种原因,我尝试下面的代码只是工作。我不知道为什么它有效,是时候做一些阅读。

 string drp1 = string.Empty;
 if (!string.IsNullOrEmpty(frm["ddlMyList"]))
    {
       drp1 = frm["ddlMyList"];
    }

答案 1 :(得分:0)

尝试这可能对你有所帮助

[HttpPost, ActionName("Index")]
public ActionResult GenerateStandardReport(Model modelinstance)
    {

            string selectedValue = modelinstance.ddlMyList;
}