Mvc Razor视图引擎基础
<1>
@{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /> <title>Index</title> </head> <body> <div> @ViewData["time"]; //可以获取ViewData传递过来的值 @DateTime.Now.ToString(); //可以直接输出一个c#变量 <p>@ViewData["time"]</p> @for (int i = 0; i < 10; i++) //可以直接在@后面写c#代码,它会自动感应{}的闭合 { <span>@i</span> } @if (ViewData.Count > 0) { <p>ViewData是有数据的</p> } else { <p>ViewData没有数据</p> } @{ //这个@{} 我们称之为Razor的一个语句块 int j = 10; j++; <p>@j</p> //输出11 } <!-----------------------没有经过编码化了的Html代码-------------------------------> @{ //这里是弹出一个窗体,窗体的文本内容是"Dome" <script type="text/jscript">alert('Dome')</script> } <!----------------------------编码化了的Html代码---------------------------------> @{ string str="<script>alert('123')</script>" ; <p>@str</p> //这里输出的<script>alert('123')</script>这段代码,而不是弹出一个窗体了。说明这段代码已经被编码化了 } <!--假如说我现在就是想在前台页面输出一些Html标签,或一些代码,就想让它原封不动的去执行那段代码,比如说我现在就想给一个Div标签放到页面去,怎么办呢,以下三种方法都可以--> @Html.Raw("<script>alert('中国')</script>") //弹出一个窗体,窗体的内容是“中国” @(new HtmlString("<script>alert('德国')</script>")) //弹出一个窗体,窗体的内容是“德国” @(new MvcHtmlString("<script>alert('美国')</script>")) //弹出一个窗体,窗体的内容是“美国” <!------------------------Razor引擎的数据类型转换-------------------------> @{ string s = "123"; <p>@s.IsInt() </p> //IsInt是检查s这个字符串是否可以转换成int类型:这里输出True <p>@s.AsInt()</p> // AsInt是将s这个字符串转换成int类型 //当然除了IsInt()外还有IsFloat(),IsDecimal(),IsDateTime(),IsBool() //对应的---------------AsFloat(),AsDecimal(),AsDateTime(),AsBool() int a = 123; <p>@a.ToString()</p> //将int类型转换成字符串 } </div> </body> </html>
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。