【发布时间】:2019-09-13 20:43:44
【问题描述】:
我的 MVC 项目中有一个视图,它有一个 WebGrid,它由我传递给视图的“帐户”模型绑定。
在我的“帐户”控制器中,我创建了一个 SelectedListItem 列表,其中包含 DropDownList 选项,然后我将其设置为 ViewBag:
public ActionResult Index()
{
var accounts = db.Accounts;
var groups = db.Groups;
List<SelectListItem> groupList = new List<SelectListItem>();
foreach(var item in groups)
{
groupList.Add(new SelectListItem()
{
Value = item.group_id.ToString(),
Text = item.group_name
});
}
ViewBag.Groups = groupList;
return View(accounts);
}
DropDownList 包含 3 个条目,其值和文本如下:
1,一 2、二 3、三
我的问题是获取绑定数据的 group_id(值)以在 DropDownList 上正确显示 group_name(文本)。
这是我目前所拥有的:
grid.Column("group_id","Group", format: (item) => @Html.DropDownList("GroupId", (List<SelectListItem>)ViewBag.Groups))
DropDownList 确实包含我之前提到的所有 3 个值,它只是没有将 DropDownList 设置为所有绑定帐户的正确值,如图所示:
我已经编辑了这篇文章以添加我的查看代码。
@model IEnumerable<Account>
@{
ViewBag.Title = "Index";
WebGrid grid = new WebGrid(Model, rowsPerPage: 10);
}
<h2>Fee Invoices</h2>
@grid.GetHtml(tableStyle: "table table-bordered",
mode: WebGridPagerModes.All,
firstText: "<< First",
previousText: "< Prev",
nextText: "Next >",
lastText: "Last >>",
columns: grid.Columns(
grid.Column("account_name", "Account"),
grid.Column("account_number", "Account Number"),
grid.Column("as_of_date", "Date", format: (item) => string.Format("{0:MM/dd/yyyy}", item.as_of_date)),
grid.Column("approved", "Approved", format: @<text><input id="select" class="box" name="select" type="checkbox" @(item.approved ? "checked='checked'" : "") value="@item.approved" /></text>),
grid.Column("group_id","Group", format: (item) => @Html.DropDownList("GroupId", (List<SelectListItem>)ViewBag.Groups))
)
))
【问题讨论】:
标签: c# asp.net-mvc html-select webgrid