zoukankan      html  css  js  c++  java
  • MVC Razor视图引擎

    Razor 不是编程语言。它是服务器端标记语言。

    Razor 是一种允许您向网页中嵌入基于服务器的代码(Visual Basic 和 C#)的标记语法

    当网页被写入浏览器时,基于服务器的代码能够创建动态内容。在网页加载时,服务器在向浏览器返回页面之前,会执行页面内的基于服务器代码。由于是在服务器上运行,这种代码能执行复杂的任务,比如访问数据库。

    Razor在减少代码冗余、增强代码可读性和VS智能感知方面,都有着突出的优势。 Razor一经推出就深受所有ASP.Net开发者的喜爱。

    Razor 使用的语法与 PHP 和 ASP 相似。

    ASP中<% %>=@

    语法规则

    Razor 代码封装于 @{ ... } 中

    行内表达式(变量和函数)以 @ 开头

    代码语句以分号结尾

    字符串由引号包围

    C# 代码对大小写敏感

    C# 文件的扩展名是 .cshtml

    添加视图的时候选择Razor视图引擎就可以

    用法:

     @{ var name = "Word!!!!";}
              @for (int i = 0; i < 3; i++)
              {
                    <h1>Hello @name</h1>
              }
            @if (true)
            {
                  <h1>Hello @name</h1>
            }

    如何工作:

    当服务器读取这种页面后,在将 HTML 页面发送到浏览器之前,会首先运行 Razor 代码。这些在服务器上执行的代码能够完成浏览器中无法完成的任务,比如访问服务器数据库。服务器代码能够在页面被发送到浏览器之前创建动态的 HTML 内容。从浏览器来看的话,由服务器代码生成的 HTML 与静态 HTML 内容没有区别。

    获取用户输入: <label for="text1">FN</label>   <input type="text" name="text1" />  for  标签和文本关联在一起,当鼠标点击标签时会在文本框在聚焦

    Razor数据装换

    循环:

    创建名为Loop的Action 定义一个集合,然后通过Razor遍历出来

    Public ActionResult Loop()
    {
    //ViewBag是动态类型 ViewBag.Loop
    =new List<string>{"张三","李四","王五"}; return View(); }

    Loop.cshtml代码:

    注意:代码中允许存在标签与代码混编的形式,Razor在智能感知方面有着非常优秀的表现。

    动态(Dynamic)类型: 可以存储任何类型的值在动态数据类型变量中。这些变量的类型检查是在运行时发生的

    ViewData是字典类型,赋值方式用字典方式,通过key值读取对应的value, ViewData["myName"]

    2、ViewBag是动态类型,使用时直接添加属性赋值即可 ViewBag.myName

    3、ViewBag和ViewData只在当前Action中有效,类似于ViewState(WebForm中页面上的对象…)

    4、ViewData和ViewBag 中的值可以互相访问,因为ViewBag的实现中包含了ViewData

    Action:

    View:

     

  • 相关阅读:
    位运算大集合
    一道百度面试题——位运算
    一道Google面试题——基数排序思想
    ubuntu12.04 安装nginx+php+mysql (lnmp)的web服务器环境
    Linux常用命令及Vim使用
    Gcc手册(转)
    C语言标准
    匈牙利游戏(次短路问题)
    高级打字机
    矩阵乘法
  • 原文地址:https://www.cnblogs.com/Sea1ee/p/5975172.html
Copyright © 2011-2022 走看看