MVC 3.0的Razor引擎

以前的MVC用Html标签和C#代码混用,看上去杂乱,<% %>标记成对出现,现在的Razor引擎内部帮我们做了闭合<%%>使用@

//<%  %> 内联代码块,可以在aspx或ascx文件里面嵌入后台代码(注意不能放在<script>标签里面)

<% for (int i = 0; i < 100; i++)
{
Response.Write(i.ToString() + "<br>");
}
%>

类似的应用

<%#   %>     <%#Eval("title").tostring()%>

<%=   %>    调用后台成员变量  <%=a%>  string a="hongda";

<%@   %>    在aspx页面中导入命名空间    <%@ import namespace="System.Data"%>

 

 

现在还是说Razor吧,飞远了。

1.方法

@{Response .Write ("hongda");}

用@来调用后台的方法,必须要加{}形成代码块,for,foreach,if不算,本身就是代码块的

在调用变量作为一个参数时,有没有@都一样

@{
var list = new List<string> { "hongda", "hong", "dda" };
foreach(var li in list){
<li><a>@li</a></li>
}
}

@{Response.Write(@list[0]);}

@{Response.Write(list[0]);}

此时list[0]就是一个字符串,也可以当成一个字符串用

@{Response .Write (@list[0]+"<br>");}
@{Response .Write (list[0]+"<br>");}

2.变量

一个变量如果不被方法调用,那么它就要被输出页面,这时就必须加@

@: 可以用于输出,当有标点时也一起输出

@:“sdaf"sadf,.           输出:“sdaf"sadf,.   

@:@list[0];                         hongda

@:只能放在@{}的代码块中使用,

@{
@:哈哈                                哈哈
@:"sadf"sdafsa23#.,            "sadf"sdafsa23#.,
@list[0];                             hongda

@:@list[0];                         hongda
}

在代码块的外部就不需要了,代码块外面加@:就发错。

@list[0];                             hongda;

@list[0]                              hongda

代码块内部

@list[0];                            hongda

@list[0]                             hongda

注意标点

对象调用方法

@{    
var i = "10";
}
<p>
i = @i.AsInt()
</p>
显示:i=10 原来int类型也可以显示啊

前面调用的对象都是在@{}中声明的,还有就是在之前就有的对象,前台调用
@{
ViewBag.Title = "主页";
}
@*输出变量*@
<h1> 这是 @ViewBag.Title</h1>


if/for/foreach
View Code
 @{
    int i = 1;
}
@if(i>1){
    @i;
}else{
    @i;
}

@{
    if(i>1){
         @i;
    }
    else{
        @i;
    }
}

 


 他妈的,终于晓得怎么插代码了
 

 

       

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值