首页 > 解决方案 > 如何在 ASP.NET MVC 中使用 ViewBag 中的数据填充 DropDownList?

问题描述

我在使用 ViewBag 数据在我的 Webgrid 中创建 DropDownList 时遇到问题。我通过我的 ViewBag 传递以下数据:

在此处输入图像描述

我正在传递 3 个具有 2 个属性 KeyA 和 KeyOther 的 JsonModel 类型的对象。我想在 DropDownList 中显示的数据是我的 3 个对象的 KeyOther 值。

我现在拥有的:

@{
                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: "KeyA", header: "KeysA", format:@<text><div class="" data-id="@item.KeyA" data-propertyname="KeyA">@item.KeyA</div></text>),
                                    grid.Column("Priority", format: @<text>@Html.DropDownListFor(x => x.First().KeyOther, new SelectList(ViewBag.OtherKeysList))</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>
                }
            }

结果如下:

在此处输入图像描述

希望有人能帮忙!

提前致谢!

标签: c#asp.netmodel-view-controllerdata-bindingwebgrid

解决方案


推荐阅读