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
たが、同じエラーが発生しました。