ASP.NET MVC 3 (二) Razor的@model

27 January 2011 — Written by Sky Chang
#ASP.NET MVC

原本打算將Razor的部分,寫成一篇,

但是光是寫第一部份的時候,感覺就已經烙烙長了。

為了以後查詢方便等,結論還是分開吧。

這邊要說的是@model

之前在MVC 2,如果要將model傳入view的話,會需要寫下面這段

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<Customer>" %>

而如過是Razor的話,就不用寫那麼長的一段。

@* 這裡可以設定model *@
@model ASPNETMVC3_View.Models.Customer

當然,如果是List的話。

@* 這裡可以設定model *@
@model List<ASPNETMVC3_View.Models.Customer>

後續我們就可以直接使用model。

<h2>Index</h2>
<p>
@Model.name
@Model.phone
</p>

而這邊,大家可能會想到一件事情,

以前會有這段Inherits="System.Web.Mvc.ViewPage"

現在直接使用@model的話,為何不用了,

因為Razor將默認繼承自System.Web.Mvc.WebViewPage

當然你也能通過更改視圖目錄下的web.config文件選擇性覆蓋這個默認類別,

但這部分,未來再提吧。

參考網址

http://weblogs.asp.net/scottgu/archive/2010/10/19/asp-net-mvc-3-new-model-directive-support-in-razor.aspx

Sky & Study4.TW