現(xiàn)在,Store Manager 控制器中已經(jīng)包含了一定數(shù)量的代碼,我們從頭到尾重新過一下。
成都地區(qū)優(yōu)秀IDC服務(wù)器托管提供商(成都創(chuàng)新互聯(lián)).為客戶提供專業(yè)的成都棕樹機(jī)房,四川各地服務(wù)器托管,成都棕樹機(jī)房、多線服務(wù)器托管.托管咨詢專線:18982081108首先,在控制器中包含了標(biāo)準(zhǔn)的 MVC 控制器的代碼,為了使用方便,還可以引用我們的模型類所在的命名空間 MvcMusicStore.Models??刂破鬟€擁有了一個私有的 MusicStoreEntities 的私有成員,以方便控制器中的每個 Action 訪問數(shù)據(jù)庫。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MvcMusicStore.Models;
namespace MvcMusicStore.Controllers
{
public class StoreManagerController : Controller
{
MvcMusicStore.Models.MusicStoreEntities storeDB
= new MvcMusicStore.Models.MusicStoreEntities();
Index 視圖獲取專輯的列表,包含每一個專輯引用的流派和藝術(shù)家信息,向我們在前面 Store控制器的 Browse時候看到的,Index 視圖中需要包含對于鏈接到的流派和藝術(shù)家對象來顯示相關(guān)的信息,所以,在 Index 的 Action 方法中,需要包含這些數(shù)據(jù)。
//
// GET: /StoreManager/
public ActionResult Index()
{
var albums = storeDB.Albums.Include("Genre").Include("Artist");
return View(albums.ToList());
}
在 Details 方法中,類似于 Store 控制器的 Details 方法,通過專輯的 Id 來獲取專輯對象,這里使用 Find() 方法完成,最后,把這個對象傳遞給視圖。
//
// GET: /StoreManager/Details/5
public ViewResult Details(int id)
{
MvcMusicStore.Models.Album album = storeDB.Albums.Find(id);
return View(album);
}
與前面看到的不同,Create 方法需要處理表單,當(dāng)用戶第一次訪問地址 /StoreManager/Create 的時候,用戶將會看到一個空的表單,HTML 頁面中包含一個