我不知道该怎么做,但我需要得到每个 <option>
从一个 html 选择多个列表,作为一个数组,然后将它发送回 C# Controller 。出于我的应用程序的目的,需要提取每个选项的文本。
有人知道如何解决这个问题吗?我需要选择以便用户可以选择删除选项,但完成后我需要收集仍在列表中的选项。也许通过 jQuery 或 javascript?
到目前为止,这是我的代码:
@using (Html.BeginForm("NewTable", "Table", FormMethod.Post))
{
<div class="form-group">
<label for="fieldList">Field List</label>
<select multiple class="form-control" id="fieldList" style="height: 300px">
<option>Example 1</option>
<option>Example 2</option>
</select>
</div>
<button class="btn btn-default" type="submit">Create Table</button>
}
最佳答案
随着选项的添加和删除,使用 jQuery 追加到隐藏字段列表或从中删除,例如:
<input type="hidden" name="SelectedOptions" value="EnteredValueGoesHere" />
然后,创建一个模型属性来匹配名称:
public class MyModel
{
public List<string> SelectedOptions { get; set; }
}
然后确保您的 Controller 操作具有以下签名:
public ActionResult SomeAction(MyModel model)
默认模型绑定(bind)器将表单字段绑定(bind)到模型属性,其中属性名称与字段的 name
相匹配,因此,假设您的隐藏字段由 Javascript 正确填充和维护,这将绑定(bind)提交表单时将隐藏字段添加到列表中。
然后,您的选择列表变得肤浅 - 只是为了方便用户使用,但从未真正绑定(bind)到模型对象。
关于c# - 获取选项从 html 选择到 MVC c# Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21497265/