MVC Razor

(一)基本写法与Aspx的区别

假设值

Model.Content="<a href='http://demo.tc' >demo小鋪</a>"
item.Key="<span>IsKey</span>"
item.Value="<span>IsValue</span>"

Razor与Aspx的区别
RazorAspx
程式碼區塊:無輸出
@{
    int a = 123;
    string b = "demoshop";
 }
<%
    int a = 123;
    string b = "demoshop";
%>
HTML Encoded:<a href='http://demo.tc' >demo小鋪</a>
<div>
    @Model.Content
</div>
<div>
    <%:Model.Content %>
</div>
HTML Unencoded:demo小鋪
<div>
    @Html.Raw(Model.Content)
</div>
<div>
    <%=Model.Content %>
</div>
混合程式碼:<span>IsKey</span>
@foreach (var item in collection)
{
    <span>@item.Key</span>
}
<%foreach (var item in collection)
    {%>
        <span><%:item.Key %></span>
<%%>
混合程式碼:我是純文字 <span>IsValue</span>
@foreach (var item in collection)
{
    <text>我是純文字</text> @item.Value
}
<%foreach (var item in collection)
    {%>
        我是純文字 <%:item.Key %>
<%%>
混合程式碼:我是純文字 <span>IsValue</span>
@foreach (var item in collection)
{
    @:我是純文字 @item.Value
}
<%foreach (var item in collection)
    {%>
        我是純文字 <%:item.Key %>
<%%>
混合程式碼:目前是第 0. 目前是第 1. 目前是第 2.
@for (int i = 0; i < 3; i++)
{
    @:目前是第 @i. 
}
<%for (int i = 0; i < 3; i++)
  {%>
      目前是第<%=%>.
<%%>
三元運算子:<a href='http://demo.tc' >demo小鋪</a>
@(Model.Content == "" ? "沒貨" : Model.Content)

<%:Model.Content==""?"沒貨": Model.Content%>
註解:無輸出
@*你看不到我*@
<%--你看不到我--%>


(二)常用的地方

1.@转义
 写法:@@
 实例:shuxin556@@163.com


2.@注释
 写法:@**@

3.取request
 例如:@Request.Url

4.@@作用域和Html混合使用
 作用域使用{}描述,在作用域内可以直接输出html.
 例如:@{
            //定义变量i
            int i = 1;
            <em>12</em>
            <br />
        }


5.在@作用域中输出内容
 写法:@:
 例如:
         @{
            int j = 1;
            @:div中直接输出内容<br />
            @:<br />
            <div>@j=6</div>
            @j
            <br />
        }


6.在@作用域中输出HTML方法1
 使用字符串描述输出
 例如:
 @{
            string html = "<b>wo shi html</b>";
            @html
 }


7.在@作用域中输出HTML方法2
 使用HtmlHelper输出
 例如:
 @{
   @Html.Raw(html)
 }


8.在@作用域中输出HTML方法3
 使用HtmlString类输出
 例如:
 @{
 var html2 = new HtmlString("<b>wo shi html</b>");
            @html2
 }


9.在@作用域中输出HTML方法4
 使用MvcHtmlString类输出
 例如:
 @{
 var html3 = MvcHtmlString.Create("<b>wo shi html</b>");
            @html3
 }


10.处理泛型<>冲突问题
 我们可以使用()把语句括起来
 例如:
 @(list.ToList<Char>());


11.@数据类型转换
 使用AsDecimal()方法转换
 例如:
 @("123".AsDecimal()+1)


12.@数字类型判断
 使用IsInt()方法
 例如:
 @("123".IsInt()?"是":"否");


13.@bool类型转换
 使用AsBool()方法转换
 例如:
 @("true".AsBool())


14.@bool类型判断
 使用IsBool()方法判断
 例如:
 @("True".IsBool()?"是":"否")


15.日期类型转换
 使用AsDateTime()方法转换
 例如:
 @("2011/4/11".AsDateTime().ToLongDateString())


16.路径转换
 使用Href()方法转换
 例如:
 @Href("~/")



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值