1

我在 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但同样的错误。

4

0 回答 0