2011年1月27日

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

原本打算將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

沒有留言:

張貼留言