【发布时间】:2019-01-11 01:00:47
【问题描述】:
我似乎找不到解决方法,我认为我只是采取了错误的方法,但正确的方法是什么?
我的控制器有这样的方法:
public List<System.Web.Mvc.SelectListItem> GetSupplierAvg(string cityname, string actualproduct)
{
var gsa = db.Database.SqlQuery<string>("select distinct SupplierAvg from OPIS_Price_import where City=@cn and ActualProduct=@ap",
new SqlParameter("@cn", cityname), new SqlParameter("@ap", actualproduct));
var SupplierAvgList = new List<SelectListItem>();
foreach (var thing in gsa)
{
SupplierAvgList.Add(new SelectListItem { Text = thing, Selected = false, Value = thing });
}
ViewBag.SupplierAvgList = SupplierAvgList;
return ViewBag.SupplierAvgList;
}
我的视图正试图这样称呼它:
@Html.DropDownList("SupplierAvgList", (IEnumerable<SelectListItem>)ViewBag.SupplierAvgList(item.CityName,thing))
但也许这不是应该的工作方式。任何见解都将不胜感激。
【问题讨论】:
-
(IEnumerable<SelectListItem>)ViewBag.SupplierAvgList(item.CityName,thing)看起来很奇怪。ViewBag.SupplierAvgList是一种方法吗?尝试检查 ViewBag.SupplierAvgList 在页面呈现时是否不为空,也在获取/发布请求时 -
@Html.DropDownList("SupplierAvgList", new SelectList(ViewBag.SupplierAvgList, "Value" , "Text"))
-
@NaDeRStar 引发“值不能为空”错误。如果它正在调用肯定返回数据的方法,我看不出它怎么会为 null。
标签: c# model-view-controller view viewbag