2021年7月9日金曜日

Dapper用クエリビルダ内蔵DBアクセスライブラリ「DapperAid」

 Dapper用クエリビルダ内蔵DBアクセスライブラリ「DapperAid」

Dapperで生SQLを使用しないのは嬉しいです。

https://www.nuget.org/packages/DapperAid 

 

2021年7月7日水曜日

There is no ViewData item of type 'IEnumerable' that has the key 'Selected画像種別


 There is no ViewData item of type 'IEnumerable<SelectListItem>' that has the key 'Selected画像種別

 

ASP.NET MVC5で  以下のCSHTMLを作成

   @Html.DropDownListFor(m => m.Selected画像種別,
      (IEnumerable<SelectListItem>)Model.画像種別,
     new { @class = "btn dropdown-toggle dropdownlist" })


ViewModelは以下の通り

    public class ConfirmImageViewModel {
        public string StaffNo { get; set; }
        public string StaffName { get; set; }
        public string Selected画像種別 { get; set; }
        public string Selected年月 { get; set; }
        public string Selected承認状況 { get; set; }
        public List<SelectListItem> 画像種別s { get; set; }
        public List<SelectListItem> 年月s { get; set; }
        public List<SelectListItem> 承認状況s { get; set; }

 

Controllerは以下の通り

            var vm = new ConfirmImageViewModel();
            vm.画像種別s = new List<SelectListItem>();
            vm.年月s = new List<SelectListItem>();
            vm.承認状況s = new List<SelectListItem>();
            vm.datas = new List<ConfirmImageData>();

            vm.StaffNo = "";
            vm.StaffName = "";
            vm.Selected画像種別 = "";
            vm.Selected年月 = "";
            vm.Selected承認状況 = "";

            var m1s = db.Image管理.OrderBy(x => x.表示順);
            foreach (var m1 in m1s) {
                var item = new SelectListItem();
                item.Text = m1.Imageタイトル;
                item.Value = m1.ImageNo.ToString();
                vm.画像種別s.Add(item);
            }

 

DropDownListForのSelectListItemのList内にvm.Selected画像種別

の値が無いのが問題

 vm.Selected画像種別 = vm.画像種別s[0].Value;


vm.Selected画像種別の値をList内の値にすること