【发布时间】:2015-08-03 19:53:54
【问题描述】:
我正在尝试填充 MVC 下拉列表的选定值字段,但没有成功。我正在使用 MVC 5.1。
这是所选值和显示销售收据的模型的屏幕截图:
模型默认为估计值,而不是选择销售收据:
当我使用 ViewData 时,下拉菜单成功:
Html.DropDownList("JMASettings.InvoiceMode")
这是我的代码:
public void GetInvoiceMode(JMASettings model)
{
Dictionary<string, string> modes = new Dictionary<string, string>();
modes.Add("Estimates", "Estimates");
modes.Add("Invoices Only (Payments If Paid)", "Invoices");
modes.Add("Invoices No Payments", "InvoicesNoPayments");
modes.Add("Sales Receipts", "Sales Receipts");
if (Session["dataSource"] != null && Session["dataSource"].ToString() == "QBD")
modes.Add("Sales Orders", "Sales Orders");
IList<SelectListItem> ilSelectList = new List<SelectListItem>();
foreach (KeyValuePair<string, string> mode in modes)
{
SelectListItem selectListItem = new SelectListItem();
selectListItem.Text = mode.Key;
selectListItem.Value = mode.Value;
if (model.InvoiceMode == mode.Value)
selectListItem.Selected = true;
else if (String.IsNullOrEmpty(model.InvoiceMode) && mode.Key == "Sales Receipts")
selectListItem.Selected = true;
ilSelectList.Add(selectListItem);
}
ViewData["JMASettings.InvoiceMode"] = ilSelectList;
}
【问题讨论】:
标签: c# asp.net-mvc html.dropdownlistfor