私はASP.NETの真の初心者であり、VisualStudio2010でMVC2+EF4を使用しています。
MVVMパターンを使用して、ViewをViewModelに強く入力しようとしています。
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" AutoEventWireup="True" CodeBehind="~/Views/Options/Index.aspx.cs" Inherits="System.Web.Mvc.ViewPage<OptionsViewModel>" %>
私のOptionsViewModelは次のようになります。
public class OptionsViewModel
{
public List<DeskPreference> DeskPreferences { get; set; }
public List<DayPreference> DayPreferences { get; set; }
}
コントローラで、新しいOptionsViewModelを作成し、View(myOptionsViewModel);を返します。
次に、たとえば、DayPreferenceの内容に基づいていくつかのボックスをオン/オフにします。コードビハインドファイルからモデルにアクセスする方法がわかりません。これは次のようになります。
using System.Web.Mvc;
using DeskRota_v1.ViewModels;
public class OptionsPage : System.Web.Mvc.ViewPage<OptionsViewModel>
{
protected void Page_Load(object sender, EventArgs e)
{
setCheckBoxes();
}
private void setCheckBoxes()
{
foreach (DayPreference dayPreference in Model.DayPreferences)
{
\\ check boxes here
}
}
「「モデル」という名前は現在のコンテキストには存在しません」という名前が表示されます。また、<%モデルを実行しようとすると。%>ビューには、あるべきだと思っていたインテリセンスはありません。誰かが私が間違っていることを説明してもらえますか?ViewModelとそのプロパティにアクセスするにはどうすればよいですか?