c# - 获取选项从 html 选择到 MVC c# Controller

标签 c# javascript asp.net-mvc html-select html-helper

我不知道该怎么做,但我需要得到每个 <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/

相关文章:

c# - Routes.AppendTrailingSlash 排除部分路线

c# - 基于 Linq 构建复杂搜索过滤器

c# - 获取 OleDbCommandBuilder 生成的 SQL 命令

c# - Google Analytics API出现问题

javascript - 从 HTML 输入标签内的另一个文件访问 Javascript 变量

javascript - 外部 javascript 文件无法在 .net core MVC 中工作

c# - WCF RIA 服务 - 加载多个实体

javascript - 使用 confirm() 表单打开新标签页或窗口

javascript - 打开伪元素下方的<select>

c# - 创建简单的 ViewModel 以在 MVC 5 中的一个 View 中显示两个数据表