MVC3 Razor 视图引擎的基础语法
1._開頭的cshtml文檔將不能在服務器上訪問,類似Global.asax等文件
2.服務端代碼必須在@{}之間,要輸出@符號可以用@Html.Encode("@")或者@@轉義
? ()用來顯示支持代碼表達式,如:
@{ViewBag.Title = "Sample";string AppName = "MyApp"; } <h2>@AppName.Model</h2>?目的是想輸出<h2>MyApp.Model<h2>,這里引擎無法正確識別.的意義,要能夠達到預期效果,需要將AppName用括號括起來:
@{ViewBag.Title = "Sample";string AppName = "MyApp"; } <h2>@(AppName).Model</h2>另一個例子,防止引擎解析為郵箱,為了輸出Item_4
@{ViewBag.Title = "Sample";string test = "ssss"; } <h1>Item_@(test.Length)</h1>還有泛型方法等也需要顯示使用(),因為"<"標記會使Razor轉回標記
3.可以再@{}之間直接輸入標簽
@{}間不能直接輸入非標簽內容可以用@:單行輸出
@{ @: text @:text }或者用<text>輸出多行
@{<text> sadasafasfa</text>}?4.?@model 強類型模型定義,模型在控制器中傳入? 例:
??? @model MvcApplication1.Models.Class1
??? 類型需要完全限定,不想完全限定類名,可以用@using 導入命名空間,或者在Views\web.config的? <system.web.webPages.razor>配置節加上默認導入的命名空間
5. @section節點關鍵字
?? 類似placeholder
?? 在布局頁中定義@RenderSection("header",true)或@RenderSection("header",false)
???子頁中使用@section header{}填充
? 母版頁中的@Renderbody()使用子頁默認內容填充
? 可以加入自定義的默認填充內容
@if (IsSectionDefined("foot")) {@RenderSection("foot");}else {@: No foot }6.注釋塊 @*? *@之間內容為服務端注釋,不會被執行,也不會輸出到客戶端
??
?
轉載于:https://www.cnblogs.com/FlyCat/archive/2012/06/30/2571237.html
總結
以上是生活随笔為你收集整理的MVC3 Razor 视图引擎的基础语法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PHP检查PEAR是否工作
- 下一篇: s3c2440移植MQTT