提交项目清单

时间:2017-06-21 17:11:31

标签: c# asp.net-mvc

使用MVC,我有一个文本框和无序列表:

<div class="form-group">
    @Html.Label("Assets:", new { @class = "control-label col-md-2" })
    <div class="col-md-10">
        @Html.Editor("Assets", new { htmlAttributes = new { id = "Asset-Tags", @class = "form-control" } })
    </div>
</div>

<div class="form-group">
    <div class="col-md-2"></div>
    <div class="col-md-3">
        <ul name="AssetsList" id="asset-list" class="list-group"></ul>
    </div>
</div>

此文本框使用Twitter Typeahead帮助用户只从我的一个数据库表中选择他们正在键入的选项..然后,一旦用户选择该选项,则该选项将填充到{{1元素允许用户在提交之前查看他们所选择的内容。

ul

在我的控制器中,我有这个:

<script>
    $(document).ready(function () {

        var assets = new Bloodhound({
            datumTokenizer: Bloodhound.tokenizers.obj.whitespace('assetTag'),
            queryTokenizer: Bloodhound.tokenizers.whitespace,
            remote: {
                url: '/api/ItemsApi?query=%QUERY',
                wildcard: '%QUERY'
            }
        });

        $('#Asset-Tags').typeahead({
                minLength: 3,
                highlight: true,
            },
            {
                name: 'assets',
                display: 'assetTag',
                source: assets,
                limit: 20
            }).on("typeahead:select", function (e, asset) {
                $("#asset-list").append("<li class='list-group-item' value='" + asset.id + "'>" + asset.assetTag + "</li>");

            $("#Asset-Tags").typeahead("val", "");
        });
    });
</script>

当我提交时,[HttpPost] [ValidateAntiForgeryToken] public ActionResult Create([Bind(Include = "Id,Phone,DateIssued,Comment,Deleted,StatusId")] BorrowedProperty borrowedProperty, List<string> AssetsList) 为空,这是我在尝试提交无序列表时所期望的..所以我的问题是..如何获取用户选择提交给{的项目列表{1}}方法以及表格的其余部分?

更新

我尝试过将名称属性添加到列表项中,如下所示:

AssetsList

仍未提交给服务器。

2 个答案:

答案 0 :(得分:0)

将项目添加到AssetsList时,您必须为每个项目编制索引。

所以,这一行

$(“#asset-list”)。append(“”+ asset.assetTag +“”);

应该有一个带有索引的name属性。

因此item [0]应该具有name = AssetsList [0]的属性    item [1]应该有一个name = AssetsList [1]

的属性

这应该将值绑定为服务器上的列表。

答案 1 :(得分:0)

使用fiddler女巫帮助您观看请求和提交的响应

http://www.telerik.com/blogs/capturing-traffic-from-.net-services-with-fiddler