1 @{ 2 Layout = null; 3 } 4 <hr /> 5 目标页面 : 6 @PageData["myData"] 7 <hr /> 8 <!DOCTYPE html> 9 @this.GetType().Assembly.Location.ToString() 10 <html> 11 <head> 12 <meta name="viewport" content="width=device-width" /> 13 <title>RazorView</title> 14 </head> 15 <body> 16 <!--1.0 Razor C#语句块--> 17 @{ 18 for(int i =0;i<10;i++) 19 { 20 //Response.Write("<div></div>"); 21 <gzitcast>哈哈哈 @Model.CName~~~~~</gzitcast> 22 //Response.Write("<div>哈哈哈哈~~~~</div>"); 23 } 24 } 25 <!--2.0 输出. 使用小括号--> 26 <div>@(ViewBag.CName).CName</div> 27 结果: 28 <div>aa.CName</div> 29 30 <!--3.0 输出 Email--> 31 @{ 32 //定义一个 匿名类 变量 33 var qq = new { com = "126" }; 34 } 35 36 <div>JamesZou707@qq.com</div> 37 <!-- 输出qq变量的com属性--> 38 <div>JamesZou707 @qq.com</div> 39 40 <hr /> 41 <!--4.0 输出 字符串--> 42 <!--4.1直接使用@变量 输出变量值,相当于 Response.Write(qq.com)--> 43 @qq.com 44 <!--4.1 代码块 输出 字符串--> 45 @{ 46 Response.Write(qq.com); 47 } 48 <hr /> 49 <!--5.0 输出 html字符串 --> 50 @{ 51 string strHtml = "<input type='text'/>"; 52 @strHtml 53 } 54 <!--5.1 razor 会自动 转义 输出字符串中的 尖括号 <> --> 55 @strHtml 56 57 <!--5.2 Response输出 html,缺点 ResponseWrite的内容 都在页面最上面--> 58 @{ 59 Response.Write(strHtml); 60 } 61 62 <!--5.3 使用Html.Raw方法 输出不转义的html,因为 方法会返回 一个 HtmlString 对象--> 63 @Html.Raw(strHtml) 64 65 66 <!--5.4 使用HtmlString 输出不转义的html--> 67 @{ 68 HtmlString htmlRaw = new HtmlString("<input type='button' value='RawHTML'/>"); 69 @htmlRaw.ToHtmlString(); 70 } 71 72 73 <!--5.5 使用MVCHtmlString静态方法Create输出不转义的html--> 74 @{ 75 HtmlString strHtml2 = MvcHtmlString.Create("<input type='radio'/>"); 76 @strHtml2 77 } 78 79 <!--6.0 在视图中 声明"方法" ,此方法 就是 在 视图类中 添加一个 返回值为 HelperResult 的方法--> 80 <!--注意:一般 不在视图上定义方法,因为 方法就是业务,而mvc本身就是为了 把 业务 和 视图 分离开--> 81 <!-- 之所以 Razor支持 在视图上 定义方法,就是为了 解决 视图上要重复 输出 html代码 块 的情况 --> 82 @helper ShowHi(string a) { 83 <div style="border:1px solid #0094ff;">哈哈哈~~~~ @a</div> 84 } 85 86 @ShowHi("小孩~~~"); 87 88 <!--6.1 在视图中 调用 无返回值 方法,必须要加上大括号 && 重要:在当前视图 中 传递参数 给另外一个视图--> 89 @{ViewData["partData"]="哇哈哈哈哈";} 90 @{Html.RenderPartial("~/Views/Home/PartTargetView.cshtml");} 91 92 <!--6.2 在视图中 调用 有返回值方法,不需要加 大括号; 由此看出@后直接跟变量 或 带返回值的方法,会直接在此输出 变量内容 或 方法返回的值--> 93 @Html.TextBox("txtname") 94 95 <!--6.3调用泛型方法 需要 加大括号--> 96 @* 97 @{ShowObj<object>()} 98 *@ 99 100 <!--7.0 注释--> 101 @* 102 哇哈哈哈哈,我们是注释~~~~~~~~~~~! 103 *@ 104 105 @{ 106 //哈哈哈~~,我是单行注释 107 } 108 109 <!--8.0 在C#代码块中 输出文本--> 110 @{ 111 <div>我爱广州</div> 112 <!--使用 Razor内置标签 <text> --> 113 <text>我爱广州</text> 114 <!--方式二--> 115 @:我爱广州 116 } 117 118 <!--9.0 在视图中 输出@符号--> 119 @@我被转义了 120 121 122 <!--10.0 访问内部对象属性--> 123 @Response 124 125 @("211".AsInt()) 126 127 @Href("~/Home/Index"); 128 </body> 129 </html>