4.ASP.NET Razor-标记

1.简介
        Razor并非编程语言,而是服务器端的标记语言。
        Razor是什么?
            是一种标记语法,可将基于服务器的代码C#嵌入至网页中
            当某网页被请求时,服务器返回页面给浏览器之前先将执行页面中的服务器代码。通过服务端的运行,可执行进入数据库等复杂任务。
            Razor是基于ASP.NET的,是为了创建web应用程序而设计的
        语法:
            使用了和PHP和ASP类似的语法
            例如:
                @foreach(int i = 0;i<10;i++){
                <li>@i<li>
                }
        Razor帮助器
            ASP.NET Razor帮助器通过几行简单代码即可访问组件
            可使用Razor构建自己的帮助器,也可使用内建的ASP.NET帮助器
            Razor帮助器说明:
                Web Grig (Web网格)
                Web Graphics(Web图形)
                Google Analytics(Google 分析)
                Facebook Integration(Facebook 集成)
                Twitter Integration(Twitter 集成)
                Sending Email(发送电子邮件)
                Validation(验证)
        Razor编程语言
            支持C#和Visual Basic。C#用的较多
    2.Razor C#语法
        语法规则:
            Razor代码块包含在 @{...} 中
            内联表达式(变量和函数)使用@开头
            代码语句使用分号结束
            变量使用var关键字声明
            字符串使用引号括起来
            C#代码区分大小写
            C#扩展名为.cshtml
        
        实例:
            @{var myMessage = "Hello World";}
            
            @{
            var greeting = "welcome";
            var weekDay = DateTime.Now.DayOfWeek;
            var greetingMessage = greeting+"here is huston it is :"+weekDay;
            }
            
            <p>the greeting is : @greetingMessage</p>
        如何工作?    
            将服务器代码嵌入到网页中的简单的编程语法
            Razor语法基于ASP.NET框架,专门用于创建Web应用程序的部分Microsoft.NET框架
            Razor支持所有ASP.NET 功能,但是使用的是简化后的语法
            Razor网页包含两方面内容:HTML内容和Razor代码
            服务器读取页面时,首先运行Razor代码,其次发送HTML页面至浏览器。服务器上执行的代码能够执行一些在浏览器上无法完成的任务,比如访问数据库服务器,服务器代码可创建动态的HTML内容,然后发送至服务器。从浏览器角度看,服务器代码生成的HTML和静态HTML没区别。
            带Razor的ASP.NET 网页有特殊的文件扩展啊名cshtml(C#)和vbhtml(visual basic)
        使用对象:
            服务器代码通常涉及到一些对象,使用对象属性方法如下,
            例如 @DateTime.Now.Day;@DateTime.Now.Hour;@DateTime.Now.Minute;@DateTime.Now.Second;
        IF和ELSE条件
            实例:
            @{
            var text = "";
            if(DateTime.Now.Time>12){
            text="A";
            }else{
            text="B";
            }
            }
        读取用户输入
            通过Request[]获取,传送输入数据通过IsPost判断
            实例:
            @{
            if(IsPost){
            var num1 = Request["text1"];
            var num2 = Request["text2"];
            var total = num1.AsInt()+num2.AsInt();
            }
            }
            
    3.C#变量
        变量是用于存储数据的命名实体
        变量
            以字母开头,开头不能是空格和保留字符(关键字)
            使用var关键字或者类型声明,ASP.NET 通常会自动确定数据类型
            例如
            var s = "字符串";
            var i1 = 1;
            var today = DateTime.Today;
            
            string s2 = "字符串";
            int i1 = 1;
            DateTime today = DateTime.Today;
        数据类型
            int 整数、float浮点数、decimal 十进制高精度数字、bool 布尔值、string
        运算符
            = 为变量复制
            +、-、*、/ 加减乘除
            +=,-= 递增、递减
            == 、 != 相等、不相等
            >、<、>=、<=
            + 连接字符串
            . 分隔对象和方法
            ()将值进行分组、传递参数
            []访问数组或集合的值
            ! 真假取反
            &&、|| 逻辑与、逻辑或
        转换数据类型
            最常见为字符串转数字、日期
            IsInt() 判断字符串是否是整数型字符串
            AsInt() 字符串转整数
            IsFloat() 判断字符串是否是浮点型数字字符串
            AsFloat() 字符串转浮点数
            IsDecimal() 判断字符串是否是十进制高精度数组
            AsDecimal() 字符串转十进制高精度数字
            IsDateTime() 判断字符串是否是DateTime类型
            AsDateTime() 将字符串转换为ASP.NET DateTime类型
            IsBool() 判断字符串是否是bool类型字符串
            AsBool() 将字符串转换为bool类型
            ToString() 将任意类型数组转换为字符串
    4.C#循环和数组
        for循环 重复执行同样的语句,知道循环次数即可使用此循环
            例如:@for(int i=0;i<10;i++){<p>Ling @i</p>}
        for each循环 常用于遍历数组或集合
            例如:遍历ASP.NET Request.ServerVariables 集合
            @foreach(var x in Request.ServerVariables){<li>@x</li>}
        while循环:通用循环
            例如:@
            {int i = 0;
            while(i<5){
                i+=1;
                <p>Line @i</p>
                }
            }
        数组:存储多个相似变量
            例如:
            @{
            string[] members = {"a","b","c"};
            }
            
            @foreach(var x in members){
            <p>@x</p>
            }
    5.C#逻辑
        if条件
            @{var num = 10;}
            @if(num >90){
            <p>the price is to high.</p>
            }
        else条件
            @{var num = 10;}
            @if(num >90){
            <p>the price is to high.</p>
            }else{
            <p>the price is to ok.</p>
            }
        else if条件
            @{var num = 10;}
            @if(num >90){
            <p>the price is to high.</p>
            }else if(pice >20 && prive <50){
            <p>the price is to ok.</p>
            }else{
            <p>the price is low.</p>
            }
        switch条件
            @{
            var weekday = DateTime.Now.DayOfWeek;
            var day = weekday.toString();
            var message = "";
            }
            
            @switch(day)
            {
            case "Monday":message = "this day is Monday";break;
            case "Thursday":message = "this day is Thursday";break;
            case "Friday":message = "this day is Friday";break;
            default:message =  "Today is:"+day;break;
            }
            <p>@message</p>
    参考资料:https://www.runoob.com/aspnet/aspnet-intro.html 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值