[英]Getting error while trying to display a list in view in ASP.NET Core MVC
[英]Error trying to display a dropdownlist in ASP.NET MVC view
我的模型中有以下代碼
[NoCache]
public IEnumerable GatePassTypeList()
{
IDictionary<string, IEnumerable<SelectListItem>> gatePassTypelist = new Dictionary<string, IEnumerable<SelectListItem>>();
List<SelectListItem> gatePassType = new List<SelectListItem>();
var gatePassData = this.db.GatePassType.OrderBy(r => r.GatePassTypeName).Select(r => r).ToList();
foreach (var item in gatePassData)
{
gatePassType.Add(new SelectListItem { Text = item.GatePassTypeName, Value = item.GatePassTypeID.ToString() });
}
gatePassTypelist.Add(string.Empty, gatePassType);
return gatePassTypelist;
}
在我的控制器中,我有以下操作
[NoCache]
public ActionResult GatePassList()
{
ViewBag.GatePassTypeList = this.myModel.GatePassTypeList();
return this.View(this.gatePassEntryModel.GetAllGatePasses());
}
最后在我看來 ,我有以下代碼
<td>
@Html.DropDownList("ddlGatePassTypeList", ViewBag.GatePassTypeList as IDictionary<string, IEnumerable<SelectListItem>>, "[All]", new { @multiple = "multiple" })
</td>
我要實現的是顯示GatePass類型的列表,但視圖中的上一行在Elmah錯誤日志中拋出了以下消息。
'System.Web.Mvc.HtmlHelper>'不包含'DropDownList'的定義,最佳擴展方法重載'System.Web.Mvc.Html.SelectExtensions.DropDownList(System.Web.Mvc.HtmlHelper,字符串,系統。 Collections.Generic.IEnumerable,字符串,對象)'有一些無效的參數
我猜這里的問題是你沒有從字典中刪除元素,問題在這條線上
ViewBag.GatePassTypeList = this.myModel.GatePassTypeList();
因為此this.myModel.GatePassTypeList()
返回字典
應該是這樣,這不是完美的代碼,但是事情是您需要在將項目添加到下拉列表之后傳遞選擇列表
[NoCache]
public ActionResult GatePassList()
{
var dic = this.myModel.GatePassTypeList()
as IDictionary<string, IEnumerable<SelectListItem>;
ViewBag.GatePassTypeList = dic["entrykey"] as List<SelectListItem>;
return this.View(this.gatePassEntryModel.GetAllGatePasses());
}
@Html.DropDownList("Mobiledropdown2", ViewBag.GatePassTypeList as SelectList)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.