Asp.net mvc 如何在没有数据绑定的情况下从视图到控制器操作获取选择列表数据?

Asp.net mvc 如何在没有数据绑定的情况下从视图到控制器操作获取选择列表数据?,asp.net-mvc,Asp.net Mvc,当我需要从视图中获取一个未绑定到模型的字符串或复选框值时,我只需将其作为参数添加到控制器中的POST方法操作中,该控制器在视图的表单部分中具有相同的名称和id html属性 HTML: 它很好用 最近,我想用选择列表尝试同样的事情……但我不知道如何让控制器动作。所有关于向控制器传递选择列表数据的示例都需要强类型对象。我想在客户端用javascript创建我的选择列表 假设我的表单html中有此选择列表: <select multiple name="myCustomSelectedCars

当我需要从视图中获取一个未绑定到模型的字符串或复选框值时,我只需将其作为参数添加到控制器中的POST方法操作中,该控制器在视图的表单部分中具有相同的名称和id html属性

HTML:

它很好用

最近,我想用选择列表尝试同样的事情……但我不知道如何让控制器动作。所有关于向控制器传递选择列表数据的示例都需要强类型对象。我想在客户端用javascript创建我的选择列表

假设我的表单html中有此选择列表:

<select multiple name="myCustomSelectedCars" id="myCustomSelectedCars">
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="opel">Opel</option>
  <option value="audi">Audi</option>
</select>
附言:
我想得到的操作是键/值对,没有模型绑定。选择列表看似微不足道,但我愿意接受建议。

您尝试过字符串数组string[]吗?它只用于获取选择列表的值,我想将作为选项标记对的文本部分的键/值键发送到我的控制器操作。这将不起作用,因为文本部分不会发送到allOnce的服务器。Scott Hanselman再次前来救援:。。。我想我会试试这个。我为什么要这么做。您似乎正在尝试复制WebForms ViewState。非常反MVC!
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "Title,Content")] Post post, string customValue)
{
.....
}
<select multiple name="myCustomSelectedCars" id="myCustomSelectedCars">
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="opel">Opel</option>
  <option value="audi">Audi</option>
</select>
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "Title,Content")] Post post, SelectList myCustomSelectedCars)
{