前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C# Razor 小笔记和某些细节

C# Razor 小笔记和某些细节

作者头像
痴者工良
发布2021-04-26 09:47:54
6140
发布2021-04-26 09:47:54
举报
文章被收录于专栏:痴者工良痴者工良

知识小结:C# 的主要 Razor 语法规则

  • 单独一个变量直接使用 @a 的形式,无需加分号,一般是直接使用已有变量,注意在使用 html 标签时,要和 razor 表达式加一个空格。
代码语言:javascript
复制
//以下都是错误的@int a=0      //不能有空格
//@int a=0,@int 会被识别为Razor表达式, a=0识别为字符,并且@int会报错@int a = 0//不能有空格
<p>有几个人@a</a>
//此处不会被识别,已经变成字符了
<h1 class="display-4">Welcome @a;</h1>
// 输入的是@a; 只会识别@a,而;将会变成字符
  • Razor 代码封装于 @{ ... } 中            --多行代码需要包含在 @{}
代码语言:javascript
复制
@{ int a = 0}        //报错,在@{}中要按正常C#代码来写,语句后要加分号
  •  封装于 @{ ... } 中,Razor的变量是全局的,在一个位置声明一个变量,后面都可以使用。
  • 如果变量在 if/for{}  等处声明则其为局部变量。对于 if/for 这些函数来说,可以不包含在@{}内,直接使用 @if/@for 这种形式
代码语言:javascript
复制
<!-- 多行语句代码块 1 -->
@{
var greeting = "Welcome to our site!";
var weekDay = DateTime.Now.DayOfWeek;
var greetingMessage = greeting + " Here in Huston it is: " + weekDay;
}

<!-- 多行语句代码块 2 -->
<ul>  
@for (int i = 0; i < 100; i++)
   {
    i += 1;
    <li>@i</li>
   }
  • 行内表达式(变量和函数)以 @ 开头     --单独一条表达式如赋值、输出,只需要在开头加上@
代码语言:javascript
复制
<!-- 单行代码块 -->
@{ var myMessage =    "Hello World"; }

<!-- 行内表达式或变量 -->
<p>The value of myMessage is: @myMessage</p> 
代码语言:javascript
复制
  • 代码语句以分号结尾                           --跟平常写代码一样,语法格式一致
  • 字符串由引号包围
  • C# 代码对大小写敏感,Razor 同样

提示:

@{}中声明的变量是全局性的。

@var net = "从入门到放弃"; 是错误的写法,因为单行表达式不能有空格。请使用@{   var net = "从入门到放弃";}

Razor代码可以放在HTML标签的任何位置,与标签结合一起,向用户呈现内容。

在多行代码块@{}中,如果只有c#代码语句,则无需在每一条语句前面加@,如知识小结的第一条。

多行语句块@{}中可以包含HTML标签,如果需要在HTML标签中使用代码,只需在某一部位加上 “@语句”格式的语句。

在"多行语句代码块 2"的示例中,直接使用了"@for{}",{}里面包含多行代码。在这里,for函数"for{}"里可以加入多行代码,与"@{}"一致。 除for函数外,if , if...else... , while等函数也能包含多行代码。

 较为复杂的情况:

代码语言:javascript
复制
<div class="container-fluid col-10">
                @{
                    if (Model != null)
                    {
                        if (Model.Code == 200)
                        {
                            var a = (AccurateBasicModel)Model.Data;
                            if (a.direction != null)
                            {
                                <p>图像方向 @a.direction</p>
                            }
                            <p>识别出的文字条数 @a.words_result_num</p>
                            int i = 1;
                            <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>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-01-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 知识小结:C# 的主要 Razor 语法规则
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档