1

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

4

0 に答える 0