mvc4(razor) で最初に db を持つエンティティを使用します
要件:IDと表示名を返すspがあります。名前を@ html.listboxに表示する必要があります。ストアドプロシージャから詳細を取得するためにインターフェイスを使用しました。ストアドプロシージャからコントローラーで結果を取得すると、保存に失敗しましたリストボックスに結果を保存する方法がわかりませんでした。コントローラーのコードに引っかかりました。助けてください。
コード:
public class projService :Iproj
{
project dbContext;
public projService()
{
dbContext = new projectEntities();
}
public List<GetResourceOrderDisplay_Result> Getresorderdisplay()
{
List<GetResourceOrderDisplay_Result> oGetresorderdisplay = new List<GetResourceOrderDisplay_Result>();
oGetresorderdisplay = dbContext.GetResourceOrderDisplay().ToList();
return oGetresorderdisplay.ToList();
}
}
コントローラ:
public ActionResult testview()
{
List<GetResourceOrderDisplay_Result> listboxdata = new List<GetResourceOrderDisplay_Result>();
listboxdata = _Scheduler.Getresorderdisplay();
ListboxViewModel objListboxViewModel = new ListboxViewModel();
//struck with the follwing line.
objListboxViewModel.resourcename=listboxdata ????
return View(objListboxViewModel);
}
見る:
@model project.ViewModels.ListboxViewModel
@Html.ListBoxFor( m=> m.resourcename,Model.resourcename, new { @class = "resList",style="height: 462px;"})
モデル:
public class ListboxViewModel
{
public string resourceid{get; set; }
//listbox Values
public List<SelectListItem> resourcename{get; set;}
}
編集:GetResourceOrderDisplay_Result
using System;
using System.Collections.Generic;
namespace proj.Data
{
public partial class GetResourceOrderDisplay_Result
{
public int ID { get; set; }
public string DisplayName { get; set; }
}
}
Edit2:これは、更新後に発生するエラーです:
**Edit 3:**