Razor基础语法简介

简介: 原文: Razor基础语法简介 Razor的出现,使页面看起更加简洁,Razor的页面后缀为:.cshtml Razor基础语法: 1、代码注释:       多行注释: @*注释信息*@      单行注释: // 注释 1、代码体{...} @{ var x=100; var y=100; string str="this is string"; } 在代码体中,没一行都需要用";"结束,代码区中,字母区分大小写。
原文: Razor基础语法简介

Razor的出现,使页面看起更加简洁,Razor的页面后缀为:.cshtml
Razor基础语法:
1、代码注释:
      多行注释: @*注释信息*@
     单行注释: // 注释

1、代码体{...}

@{	var x=100;
	var y=100;
	string str="this is string";
}

在代码体中,没一行都需要用";"结束,代码区中,字母区分大小写。字符类型常量必须用""括起来,


2、 由于asp.net引擎会检解析查每个已@开头的代码,除非@前包括非空白字符;如:<div>test@razor</div> 
这样输出的信息还是test@razor,这不会进行解析,页面输出@符合,可以用HTML中的ASCII编码&#64。


3、 在Razor中使用局部变量,进行上下文调用:

@{
var message="现在时间为:";
var time=DateTime.Now;
var outMessage=message+time;
}
<div>@outMessage </div> 

页面输出为:现在时间为:2011/12/14 20:26:13; 

4、字符拼接输出

    @{var cout=100;}
    <p>这是第 @count 个进球 </p>
页面输出:这是第 100 个进球

如果页面要输出:这是第100个进球
则调用方式则为:<p>这是第@{@count}个进球</p>,
如果直接用<p>这是第@count个进球</p>,页面将会直接输出:这是第@count个进球

如果输出的是变量的方法名:
<p>这是第@count.ToString()个进球</p>,则可以不用@{}标志

5、 在@{...}代码体中输出文字,需要用到@:,如下所示:
   @{
        var name="张三";
        @:你好:
        @:@name        
    }
页面输出:你好:张三

6、 逻辑代码处理

	@{
		if(true)
		{
			// do something;
		}
		else
		{
			// do something;
		}
	}


7、 在@{...}代码体内部使用html标记

@{
        <div>this is <span>test</span></div>
 }

 页面输出:this is test
 要进行多行输出时可用:
 @{
        <text>
        this first,
        this secend  
        </text>       
      }
  页面输出:this first, this secend 
 
8、 在@{...}内部使用注释
@{
    // 单行注释
    var mesage = "Now Time:";
    @* 
        当前时间
        输出当前时间
    *@ 
    
    /*
     *  使用C#中的
     *  注释
     */
    var time = DateTime.Now;

<!-- HTML注释-->
    var outMessage = mesage + time;
 }

9、 数据类型转换

      

    AsInt(), IsInt()
  AsBool(),IsBool()
  AsFloat(),IsFloat()
  AsDecimal(),IsDecimal()
  AsDateTime(),IsDateTime()
  ToString()

   @{
        var count = "100";
    }
    
    <p>count:@count.AsInt()</p>
	输出:count:100
    <p>@count.IsInt()</p>
	输出:True
	
    如果
	@{
              var count = "test";
	 }
    
    <p>count:@count.AsInt()</p>
	输出:count:0
    <p>@count.IsInt()</p>
	输出:False


即:AsInt() 如果转换不成功直接为0,IsInt返回Bool值,其他类似

10、循环使用

@{
        /* for循环使用 */
        for(int k=1;k<5;k++)
        {
            @:第 @k 个;
        }


        @*页面输出:第 1 个; 第 2 个; 第 3 个; 第 4 个; *@
        
        // foreach 使用
        var list =new List<string> { "one", "two", "three", "four" };
        foreach(var str in list)
        {
            @:@str;
        }
        @*页面输出:one; two; three; four; *@
        
        var flag=1;
        while(flag<5)
        { 
           @:第@{@flag}个; 
           flag++;
        }
         @*页面输出:第1个; 第2个; 第3个; 第4个; *@
}



     


目录
相关文章
|
6月前
|
机器学习/深度学习 人工智能 编解码
快速生成商业级高清图!SimpleAR:复旦联合字节推出图像生成黑科技,5亿参数秒出高清大图
SimpleAR是复旦大学与字节Seed团队联合研发的自回归图像生成模型,仅用5亿参数即可生成1024×1024分辨率的高质量图像,在GenEval等基准测试中表现优异。
231 4
快速生成商业级高清图!SimpleAR:复旦联合字节推出图像生成黑科技,5亿参数秒出高清大图
|
5月前
|
边缘计算 人工智能 云计算
HIS系统的核心模块:医生工作站
医生工作站是HIS系统的核心模块,围绕诊疗流程一体化、电子病历智能化、医嘱闭环管理、辅助决策支持及移动化操作五大方面优化医疗流程。它整合患者信息,提供结构化病历生成与质控,实现医嘱全流程追踪,结合药品和诊疗知识库辅助决策,并支持多场景便捷操作。通过数据整合与智能工具,提升诊疗效率与质量,助力智慧医疗发展。
259 2
|
11月前
|
数据采集 数据安全/隐私保护 开发者
非阻塞 I/O:异步编程提升 Python 应用速度
非阻塞 I/O:异步编程提升 Python 应用速度
|
6月前
|
传感器 机器学习/深度学习 人工智能
自己都站不稳,怎么护理人?智能机器人的自主平衡问题,用TRIZ和DeepSeek有解吗?
法思诺创新探讨机器人自主平衡难题,结合TRIZ创新理论与DeepSeek大模型,为仿人机器人动态平衡提供解决方案。文章分析了机器人平衡差的原因,包括复杂环境、传感器限制、算法难度和机械设计挑战等,并提出通过TRIZ原理(如矛盾识别、理想解)与DeepSeek的AI能力(如数据学习、强化学习)协同优化平衡性能。展望未来,2024-2028年将实现从实验室验证到家用场景落地,推动消费级人形机器人发展。
267 0
|
10月前
|
存储 JavaScript Java
如何在Java中计算绝对值
绝对值表示一个数离0的距离,总是非负的。在Java中,可以通过`Math.abs()`函数或`if-else`条件语句来计算绝对值。使用`Math.abs()`可直接将负数转为正数,而`if-else`则根据条件判断是否取反。本文介绍了这两种方法的具体实现步骤和代码示例,并展示了如何通过用户输入获取数值并输出其绝对值。此外,还提供了完整的代码和编译执行的方法。
434 6
如何在Java中计算绝对值
|
12月前
|
机器学习/深度学习 供应链 监控
深度学习之实时库存管理
基于深度学习的实时库存管理在电商、零售、制造业和物流等多个行业中具有极高的应用价值。深度学习模型可以帮助企业实时监测库存动态、优化库存补充决策、预测需求波动,确保库存水平稳定且适合实际需求,从而降低成本、提高客户满意度。以下从核心技术、常见应用场景、技术挑战及未来发展方向进行详细说明。
749 3
|
NoSQL Java Redis
京东双十一高并发场景下的分布式锁性能优化
【10月更文挑战第20天】在电商领域,尤其是像京东双十一这样的大促活动,系统需要处理极高的并发请求。这些请求往往涉及库存的查询和更新,如果处理不当,很容易出现库存超卖、数据不一致等问题。
319 1
|
SQL 存储 安全
SQL查询数据库:基础概念与操作指南
在数字化时代,数据库已成为信息管理的重要工具之一。作为管理和操作数据库的核心语言,SQL(结构化查询语言)已成为数据管理和查询的关键技能。本文将全面介绍SQL查询数据库的基本概念、语句和操作指南,以帮助初学者快速上手,同时为进阶用户提供有价值的参考。一、数据库与SQL简介数据库是一种存储、管理和检索
434 3
|
安全 算法 数据安全/隐私保护
加密与安全:公开密钥加密、加密过程、数字签名等
这篇文章详细解释了非对称加密算法,包括公开密钥加密的原理、加密过程、数字签名的功能,以及它与对称加密的比较和实际应用场景。
加密与安全:公开密钥加密、加密过程、数字签名等
|
存储 前端开发 JavaScript
深入Web前端:栈与堆的优缺点全解析,让你大开眼界!
【8月更文挑战第23天】本文以问答形式解析了Web前端开发中至关重要的内存管理概念——栈与堆。栈采用后进先出(LIFO)原则存储执行上下文,适用于函数调用管理;而堆则灵活存储如对象和数组等复杂数据类型。栈操作迅速但访问受限,堆则提供动态空间分配但可能牺牲内存效率。理解两者特性有助于提升JavaScript编程技巧。
240 1