我是一名真正的ASP.NET初學者,並且在Visual Studio 2010中使用MVC2 + EF4。如何從視圖和關聯的代碼背後的文件訪問我的ViewModel?
我試圖使用MVVM模式並強烈地將我的視圖輸入到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,做返回查看(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
}
}
它與「名稱‘模式’在目前情況下不存在」出現。另外如果我嘗試做<%模型。 %>在視圖中沒有intellisense,我認爲應該有。有人能解釋我做錯了什麼嗎?我該如何訪問ViewModel及其屬性?
如果您使用的是asp.net mvc,則文件後面沒有代碼。整個模型是不同的。 –
你似乎錯過了一些關鍵概念。我會建議花費幾個小時來查看基礎知識,然後重新審視您的具體問題,而不是與您的工作一起工作。另外我會推薦使用MVC 3或4,因爲在我看來語法更清晰。這裏有一個來自微軟的介紹,讓你開始瞭解基礎知識: http://www.asp.net/mvc/tutorials/getting-started-with-aspnet-mvc3/cs/intro-to-aspnet-mvc-3 – Josh
除了上述建議之外,我還要補充一點,您不需要MVVM,因爲框架是圍繞MVC模式構建的。您仍然可以在MVC中使用視圖模型。 –