我在chrome的控制台中收到此消息。页面保持加载标志,但没有任何反应,它冻结在那里,ui没有显示。当dropdownlistfor的源没有元素时会发生这种情况。如果有,它可以正常工作。这是我的代码: ViewModelFactory:
SpecialOffersRep specialOffersRep = new SpecialOffersRep();
IEnumerable<SpecialOfferBO> specialOffers = specialOffersRep.GetForDropDown();
List<SelectListItem> specialOffersForDropDown = new List<SelectListItem>();
foreach (SpecialOfferBO sp in specialOffers)
{
specialOffersForDropDown.Add(new SelectListItem { Text = sp.SpecialOfferName, Value = sp.SpecialOfferID.ToString() });
}
orderVm.SpecialOffers = specialOffersForDropDown;
return orderVM;
所以当specialOffersForDropDown
没有项目时我收到错误。
在视图中我有这个:
<tr>
<td>
@Html.LabelFor(m => m.SpecialOfferID, new { @class = "label" })
</td>
<td>
@Html.DropDownListFor(m => m.SpecialOfferID, Model.SpecialOffers, new { data_mini = "true", id = "ddlSpecialOffer" })
</td>
</tr>
我创建了一个没有jquery mobile的测试项目,它可以正常使用空数据源。
我也尝试了Enumerable.Empty<SelectListItem>()
而不是Model.SpecialOffers
,但遇到了同样的错误。