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>