C# Razor 小笔记和某些细节
知识小结:C# 的主要 Razor 语法规则
- 单独一个变量直接使用 @a 的形式,无需加分号,一般是直接使用已有变量,注意在使用 html 标签时,要和 razor 表达式加一个空格。
//以下都是错误的@int a= //不能有空格
//@int a=0,@int 会被识别为Razor表达式, a=0识别为字符,并且@int会报错@int a = //不能有空格
<p>有几个人@a</a>
//此处不会被识别,已经变成字符了
<h1 class="display-4">Welcome @a;</h1>
// 输入的是@a; 只会识别@a,而;将会变成字符 - Razor 代码封装于 @{ ... } 中 --多行代码需要包含在 @{} 中
@{ int a = } //报错,在@{}中要按正常C#代码来写,语句后要加分号- 封装于 @{ ... } 中,Razor的变量是全局的,在一个位置声明一个变量,后面都可以使用。
- 如果变量在 if/for{} 等处声明则其为局部变量。对于 if/for 这些函数来说,可以不包含在@{}内,直接使用 @if/@for 这种形式
<!-- 多行语句代码块 -->
@{
var greeting = "Welcome to our site!";
var weekDay = DateTime.Now.DayOfWeek;
var greetingMessage = greeting + " Here in Huston it is: " + weekDay;
} <!-- 多行语句代码块 -->
<ul>
@for (int i = ; i < ; i++)
{
i += ;
<li>@i</li>
}
- 行内表达式(变量和函数)以 @ 开头 --单独一条表达式如赋值、输出,只需要在开头加上@
<!-- 单行代码块 -->
@{ var myMessage = "Hello World"; } <!-- 行内表达式或变量 -->
<p>The value of myMessage is: @myMessage</p>
- 代码语句以分号结尾 --跟平常写代码一样,语法格式一致
- 字符串由引号包围
- C# 代码对大小写敏感,Razor 同样
提示:
@{}中声明的变量是全局性的。
@var net = "从入门到放弃"; 是错误的写法,因为单行表达式不能有空格。请使用@{ var net = "从入门到放弃";}
Razor代码可以放在HTML标签的任何位置,与标签结合一起,向用户呈现内容。
在多行代码块@{}中,如果只有c#代码语句,则无需在每一条语句前面加@,如知识小结的第一条。
多行语句块@{}中可以包含HTML标签,如果需要在HTML标签中使用代码,只需在某一部位加上 “@语句”格式的语句。
在"多行语句代码块 2"的示例中,直接使用了"@for{}",{}里面包含多行代码。在这里,for函数"for{}"里可以加入多行代码,与"@{}"一致。
除for函数外,if
, if...else... , while等函数也能包含多行代码。
较为复杂的情况:
<div class="container-fluid col-10">
@{
if (Model != null)
{
if (Model.Code == )
{
var a = (AccurateBasicModel)Model.Data;
if (a.direction != null)
{
<p>图像方向 @a.direction</p>
}
<p>识别出的文字条数 @a.words_result_num</p>
int i = ;
<table class="table table-hover table-responsive table-bordered">
<tr><td>编号</td><td>识别文字</td><td>行置信度平均值</td><td>行置信度方差</td><td>行置信度最小值</td></tr>
@foreach (var item in a.words_result)
{
<tr>
<td>@i</td>
<td> @item.words</td>
@{
if (item.probability != null)
{
<td>@item.probability.average</td>
<td>@item.probability.variance</td>
<td>@item.probability.min</td>
}
else
{
<td>未设置</td>
<td>未设置</td>
<td>未设置</td>
}
}
@{ i++;}
</tr>
}
</table>
}
else
{
<h3>识别错误,错误详情:</h3>
<p>
@Model.Data.ToString()
</p>
}
}
else
{
<h2 id="plaseInput">请上传图片</h2>
}
}
</div>
</div>
C# Razor 小笔记和某些细节的更多相关文章
- 转:【iOS开发每日小笔记(十一)】iOS8更新留下的“坑” NSAttributedString设置下划线 NSUnderlineStyleAttributeName 属性必须为NSNumber
http://www.bubuko.com/infodetail-382485.html 标签:des class style 代码 html 使用 问题 文件 数据 ...
- 小笔记:Timer定时间隔时间操作
小笔记:Timer定时间隔时间操作,后面有时间再补充和完善: public class TimingSvc { /// <summary> /// 定时器,执行定时任务 /// </ ...
- 关于 linux中TCP数据包(SKB)序列号的小笔记
关于 SKB序列号的小笔记 为了修改TCP协议,现在遇到了要改动tcp分组的序列号,但是只是在tcp_sendmsg函数中找到了SKB的end_seq 一直没有找到seq 不清楚在那里初始化了,就 ...
- Linux下postgres9.4 版本的单机版安装小笔记
1.添加RPMyum install https://download.postgresql.org/pub/repos/yum/9.4/redhat/rhel-7-x86_64/pgdg-redha ...
- 深入剖析Nginx一点小笔记
前几天在图书馆看书,恰好看到这本<深入剖析nginx>,花了快一周的时间看完了这本书,写点笔记心得便于以后复习. 以前对nginx的认识就只是停留在一个反向代理服务器上.百度了一下ngin ...
- Android小项目之八 界面细节
------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...
- Stl源码剖析读书笔记之Alloc细节
阅读基础: Foo *pf = new Foo; 执行了两个步骤: 1)::operator new 向系统申请内存. 2) 调用Foo::Foo()构造函数构造实例. ==> 申请内存,构造 ...
- Git-rebase 小笔记
转自: https://blog.yorkxin.org/posts/2011/07/29/git-rebase/ 最近刚好有个机会整理很乱的Git commit tree,终于搞懂了rebase 的 ...
- css通用小笔记03——浏览器窗口变小 div错位的问题
我最近写网页的时候,经常碰到一个普遍的问题,经过我的查阅和尝试,终于解决了这一问题,这里有两种方法提供给大家,如果博友还有更好的方法,欢迎补充. 一.使用min-width属性: 我们先看看下面这段代 ...
随机推荐
- DotNetCore跨平台~autofac属性的自动注入
回到目录 在使用autofac这个DI工具时,我们一般使用的是构造方法注入,而dotnetcore的标准框架里也集成了构造方法注入,而属性注入在一些场景下,表现的更为灵活,像java的spring框架 ...
- CI中使用log4php调试程序
下载log4php.我下载的版本是:apache-log4php-2.3.0-src.zip.借压缩,将压缩文件中的src/main/php/文件夹拷贝到CI的application/thrid_pa ...
- You have not concluded your merge. (MERGE_HEAD exists)。(转)
自己简直就是一个git小白,碰到问题,一点点的解决吧,可能不太系统,但也只能勤能补拙了 Git本地有修改如何强制更新 本地有修改和提交,如何强制用远程的库更新更新.我尝试过用git pull -f,总 ...
- 浅谈javascript函数,变量声明及作用域
javascript函数跟变量的声明.作用域这些概念网上都已经讲烂了. 这里写个博客,也相当于做个笔记. 变量声明 首先看个例子: var globalVar = "gv"; fu ...
- php中常量 const属性,静态属性,静态的函数方法
<?php//php中的常量define('MYNUM', 2000);echo MYNUM.'<br>';if(!defined('MYNUM')){ define('MYNUM' ...
- 将一个表的数据导入到另一个表的sql
ALTER PROCEDURE [dbo].[usp_ea_Copy] ( @eaId int, @createdBy varchar(), @newEaId int output ) AS decl ...
- 详解 Webpack+Babel+React 开发环境的搭建
1.认识Webpack 构建应用前我们先来了解一下Webpack, Webpack是一个模块打包工具,能够把各种文件(例如:ReactJS.Babel.Coffeescript.Less/Sass等) ...
- BOM的节点方法和属性
一.HTML DOM >>>>>>>>>>>>>>>>>>>>具体可以参考W3S ...
- AJAX同步问题
@using ShippingRen.CommonV2.CloudStorage; @using ShippingRen.Api.ServiceModel.PublicDataEntity.Looku ...
- [模板]选择排序&&冒泡排序&&插入排序
#include<iostream> #include<cstdio> #include<bits/stdc++.h> using namespace std; v ...