C# と SQL Server 2005 を使用して ASP .Net MVC 3 アプリケーションを開発しています。
Entity Framework と Code First Method も使用しています。
次のような DropDownList を含むビュー 'Application' があります。
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<MvcApplication2.Models.FlowViewModel>" %>
<h2>Application</h2>
<form id="form1" runat="server">
<h2><%= Html.Encode(ViewData["Message"]) %> </h2>
<div>
<%:Html.Label("Type :")%><%: Html.DropDownListFor(model => model.SelectedGenre, Model.GenreItems)%>
</div>
ビューのページにアクセスしようとすると、コンパイル エラーが発生します。
コンパイル エラー
説明: この要求を処理するために必要なリソースのコンパイル中にエラーが発生しました。次の特定のエラーの詳細を確認し、ソース コードを適切に変更してください。
これはコントローラの一部です:
[HttpGet]
public ActionResult Application(Genre genre)
{
var vv = new FlowViewModel();
vv.GenreItems = db.Genres.ToList();
return View(vv);
}
そして、これはモデルの一部です:
public class FlowViewModel
{
[Key]
public string IDv { get; set; }
public List<Genre> GenreItems { get; set; }
public string SelectedGenre { get; set; }
}
2番目のアプローチ:
コントローラー:
[HttpGet]
public ActionResult Application(Genre genre)
{
var vv = new FlowViewModel();
vv.GenreItems = new SelectList(db.Genres.ToList(), "ID_G", "ID_G");
return View(vv);
}
意見 :
<div>
<%:Html.Label("Type :")%><%: Html.DropDownListFor(model => model.SelectedGenre, new SelectList(Model.GenreItems,"ID_G","ID_G")%>
</div>
モデル :
[NotMapped]
public SelectList GenreItems { get; set; }
public string SelectedGenre { get; set; }
エラー :
コンパイル エラー
説明: この要求を処理するために必要なリソースのコンパイル中にエラーが発生しました。次の特定のエラーの詳細を確認し、ソース コードを適切に変更してください。