MVC Razor 語法(轉)

http://blog.sina.com.cn/s/blog_580e98300100yvz4.html
原文地址:
MVC Razor 語法(轉)
作者:panzhaowen_jacki
語法名稱Razor 語法Web Forms 等效語法
代碼塊
@{    int x = 123;    string y = "because."; } 
<%   int x = 123;    string y = "because.";  %> 
表達式(默認encode)
<span>@model.Message</span> 
<span><%: model.Message %></span> 
表達式(不encode)
<span>
@Html.Raw(model.Message) </span>
<span><%= model.Message %></span> 
結合文本和標記的循環
@foreach(var item in items) {   <span>@item.Prop</span>  } 
<% foreach(var item in items) { %>   <span><%: item.Prop %></span> <% } %> 
代碼和文本混合
@if (foo) {   <text>Plain Text</text>  } 
<% if (foo) { %>    Plain Text  <% } %> 
代碼和文本混合
@if (foo) {   @:Plain Text is @bar } 
同上
Email 地址
Hi [email protected] 
Razor 認識基本的郵件格式.可智能識別.
顯示錶達式
<span>ISBN@(isbnNumber)</span> 
在括號裏可以有些簡單的操作.擴展一下就是@(20*pageIndex) 輸出運算結果
輸出@符號 
<span>In Razor, you use the  @@foo to display the value  of foo</span> 
要顯示@符號,用兩個@符號"@@"表示.
服務器端註釋
@* This is a server side  multiline comment  *@ 
<%-- This is a server side  multiline comment --%> 
調用一個方法
@(MyClass.MyMethod<AType>()) 
使用括號來明確表達是什麼.
創建一個Razor委託
@{   Func<dynamic, object> b =     @<strong>@item</strong>; } @b("Bold this") 
更多信息查看 this blog post .
混合表達式和文本
Hello @title. @name. 
Hello <%: title %>. <%: name %>. 
 
希望對您有所幫助. 
 
補充一個在View的腳本Script中顯示JSON對象的方法
需求:var data=[{id:1,title="標題1},{id:2,title="標題2"}] 
實現:var data=@Html.Raw(@Newtonsoft.Json.JavaScriptConvert.SerializeObject(Model)) 
用Json.Net轉換一下再Raw輸出即可
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章