• Razor、ASPX 语法分析


    Razor 是一种基于服务器端代码的可以转换为网页的标记语法。Razor 语法包括 Razor 标记、C# 和 HTML 组成。包含 Razor 的文件通常后缀名为 .cshtml 。
    Razor的作用域
    在这里插入图片描述
    Razor和Html混合编写
    a.在作用域内容如果是以html标签开始则视为文本输出
    b.如果输出@,则使用@@,
    在这里插入图片描述

    c.如果需在代码块中直接输出纯文字而不带HTML标签,则可以使用@:标签,如果在 “@:” 后面加上@就表示Razor语句的变量。注意前面要加空格

    @for(var i = 10; i < 21; i++) {

    Line @i

    }
    • @foreach (var x in Request.ServerVariables) {
    • @x
    • }
    @{ var i = 0; while (i < 5) { i += 1;

    Line @i

    } }

    @{
    string[] members = {“Jani”, “Hege”, “Kai”, “Jim”};
    int i = Array.IndexOf(members, “Kai”)+1;
    int len = members.Length;
    string x = members[2-1];
    }

    @{var price=50;}

    @if (price>30) {

    The price is too high.

    }

    @{var price=20;}

    @if (price>30) {

    The price is too high.

    } else {

    The price is OK.

    }

    @{var price=25;}

    @if (price>=30) {

    The price is high.

    } else if (price>20 && price<30) {

    The price is OK.

    } else {

    The price is low.

    }

    @{
    var weekday=DateTime.Now.DayOfWeek;
    var day=weekday.ToString();
    var message=“”;
    }

    @switch(day) { case "Monday": message="This is the first weekday."; break; case "Thursday": message="Only one day before weekend."; break; case "Friday": message="Tomorrow is weekend!"; break; default: message="Today is " + day; break; }

    @message

    @RenderBody()来呈现子Web页面的内容,它可以省去我们在每个视图文件中写相同的html元素、JS和样式等的工作。
    在这里插入图片描述

    @RenderPage()方法
    page当需要在一个页面中,输出另外一个Razor文件(页面)的内容时候用到,比如头部或尾部这些公共的内容时需要用到,比如头部或尾部这些公共的内容时需要用到,用@RenderPage()方法
    在这里插入图片描述
    @RenderSection()
    解释:Section是定义在Layout的页面中使用的。在Layout的页面中用。在要Layout的父页面中使用@RenderSection()方法。

    @RenderSecion()这个占位符表示:在这里会渲染页面里面的一个节(可以是html代码也可以是c#代码和Html的结合体)。
    @RenderSection(“scripts”, required: false)做一个补充说明,第一个参数指明:在子页面被渲染的节的名称,第二个参数:指定子页面这个节是否是必需的,如果指定了required:true;但是在子页面没有给这个名称的节的话,编译是通不过的。

    在这里插入图片描述
    对于 ASP.NET Razor 注释,请使用它开头 @ 并结束注释 @。 批注可以位于一行或多行上:

    在这里插入图片描述
    @HTML.RenderAction 简单用法
    ①@HTML.ActionLink(“ActionName”)
    调用页与当前页位于同一个控制器,可直接调用,显示对应的视图
    ②@Html.ActionLink(“actionName”,“controllerName”)
    第一个参数为视图名称,第二个参数为视图对应的controller
    ③@html.actionlink(“actionName”,“controllerName”,
    new{参数A=A,参数B=B})

    @RenderSection
    @RenderSection在母版页中占个位,然后让使此母版页的子页自己去呈现他们的section
    @section xxx {

  • 相关阅读:
    AQS内部的体系架构
    【无标题】
    漏洞深度分析|Apache Airflow example_bash_operator DAG 远程代码执行漏洞
    Node.js中的Buffer和Stream
    Vue-MVVM数据双向绑定响应式原理之Object.defineProperty
    流程图拖拽视觉编程-流程编辑器
    年薪90万男子嫌无聊起诉公司?用任务软件飞项充实工作吧!
    Redis高级应用
    数据结构实验6 :图的存储与遍历(邻接矩阵的深度优先遍历DFS和邻接表的广度优先遍历BFS)
    资源管理的部分
  • 原文地址:https://blog.csdn.net/u013400314/article/details/127104376