在mvc中的页面加载时,用静态列表填充两个下拉列表
本文关键字:填充 列表 下拉列表 两个 静态 mvc 加载 | 更新日期: 2023-09-27 18:29:05
我需要在页面加载时用一些静态列表项填充两个下拉列表,为此我已经这样做了。。。
控制器
public ActionResult Index()
{
GetStatus();
GetChangeTypeTransactions();
return View();
}
private static TransactionHistoryModel GetStatus()
{
var model = new TransactionHistoryModel
{
Status= "None",
StatusList = new[]
{
new SelectListItem { Value = "None", Text = "None" },
new SelectListItem { Value = "Success", Text = "Success" },
new SelectListItem { Value = "Failed", Text = "Failed" },
new SelectListItem { Value = "Queued", Text = "Queued" }
}
};
return model;
}
private static TransactionHistoryModel GetChangeTypeTransactions()
{
var model = new TransactionHistoryModel
{
TypeOfChange = "None",
TypeOfChangeList = new[]
{
new SelectListItem { Value = "None", Text = "None" },
new SelectListItem { Text = "Delete Item", Value = "Delete Item" },
new SelectListItem { Text = "Delete Vendor", Value = "Delete Vendor" },
new SelectListItem { Text = "Delete Member", Value = "Delete Member" },
new SelectListItem { Text = "Update CostPage Header", Value = "Update Cost Page Header" },
new SelectListItem { Text = "Update Item", Value = "Update Item" }
}
};
return model;
}
查看
<div class="firstTxtBox">
@Html.DropDownListFor(m=>m.Status, Model.StatusList,new { style = "width:120px" })
</div>
<div class="SecondLbl">
@Html.Label("Type Of Change")
</div>
<div class="SecondTxtBox">
@Html.DropDownListFor(m=>m.TypeOfChange, Model.TypeOfChangeList, new { style = "width:120px" })
</div>
型号
public class TransactionHistoryModel
{
public string Status { get; set; }
public IEnumerable<SelectListItem> StatusList { get; set; }
public string TypeOfChange { get; set; }
public IEnumerable<SelectListItem> TypeOfChangeList { get; set; }
}
但我在这一行开始时得到了NullReference异常:
@Html.DropDownListFor(m=>m.Status, Model.StatusList,new { style = "width:120px" })
我需要在页面加载时在两个下拉列表中填写项目,但我收到了一个错误,有人对此有任何想法和建议吗。。。。我正在使用MVC 4版本
非常感谢。。。
试试这个,
控制器
public ActionResult Index()
{
TransactionHistoryModel model = new TransactionHistoryModel();
model.StatusList = GetStatus();
model.TypeOfChangeList = GetChangeTypeTransactions();
OR
ViewBag.statusasdID = GetStatus();
ViewBag.TypeofasdID = GetChangeTypeTransactions();
return View(model);
}
查看
@Html.DropDownListFor(m => m.statusid, Model.StatusList , "--Select--")
@Html.DropDownListFor(m => m.TypeofId, Model.TypeOfChangeList , "--Select--")
OR
@Html.DropDownList("statusid", (SelectList)ViewBag.statusasdID , "--Select--")
@Html.DropDownList("TypeofId", (SelectList)ViewBag.TypeofasdID , "--Select--")
型号
public class TransactionHistoryModel
{
public int statusid { get; set; }
public int TypeofId { get; set; }
public string Status { get; set; }
public IEnumerable<SelectListItem> StatusList { get; set; }
public string TypeOfChange { get; set; }
public IEnumerable<SelectListItem> TypeOfChangeList { get; set; }
}