Как перебрать WebGrid и получить выбранные значения DropDownList? - PullRequest
0 голосов
/ 20 мая 2019

Я пытаюсь выяснить, как перебрать следующую сетку:

enter image description here

То, чего я пытаюсь добиться, - это перебрать эту WebGrid и связать значение столбца «A» со столбцом «Other» для каждой строки с помощью eachother, пример этой WebGrid:

"key1" -> "otherkey2",

"key2" -> "otherkey3",

"key3" -> "otherkey3"

Когда итерация будет завершена, я хотел бы отправить эти данные (предпочтительно в dictionary<string, string>) моему контроллеру.

Мой код:

HTML

@{
                if (Model != null && Model.Count() > 0)
                {
                    var grid = new WebGrid(canPage: true, rowsPerPage: 10);
                    grid.Bind(source: Model, rowCount: 0, autoSortAndPage: false);

                    <div class="row" id="content2">
                        <div class="col-lg-12 d-flex align-items-stretch">

                            @grid.Table(tableStyle: "table table-responsive table-striped table-bordered",
                                columns: grid.Columns(
                                grid.Column(columnName: "A", header: "A", format:@<text><div class="" data-id="@item.KeyA" data-propertyname="KeyA">@item.KeyA</div></text>),
                                grid.Column("Other", header: "Other", format: @<text>@Html.DropDownList("OtherKey", (IEnumerable<SelectListItem>)ViewBag.OtherKeysList, new { @class = "extra-class" })</text>)))
                        </div>
                        <!--Pagerlist for webgrid-->
                        <div class="col-lg-12 d-flex align-items-stretch">
                            @grid.PagerList(mode: WebGridPagerModes.All, paginationStyle: "pagination pagination-small pagination-right")
                        </div>

                        @Html.Hidden("dir", grid.SortDirection)
                        @Html.Hidden("col", grid.SortColumn)
                    </div>
                }
}

Javascript

<script type="text/javascript">
       $(document).ready(function () {
           $("#btnSubmit").click(function () {
               //Iterate here
           });
       });
</script>
...