我是 ASP.NET 的真正初学者,在 Visual Studio 2010 中使用 MVC2 + EF4。
我正在尝试使用 MVVM 模式并将我的视图强输入到视图模型中。
<%@ 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
}
}
它提出“当前上下文中不存在名称'模型'”。另外,如果我尝试做 <% Model. %> 在视图中没有智能感知,我认为应该有。有人可以解释我做错了什么吗?我应该如何访问 ViewModel 及其属性?