我在 chrome 的控制台中收到此消息。页面保持加载标志,但没有任何反应,它冻结在那里,用户界面没有显示。当 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
但同样的错误。