Razor使用方法

1、Razor注释:@*   *@的格式

 2、Razor通过4种标记方式来确定指定区域的代码是服务器端代码,即在html中插入C#代码:

  • 行内(Inline)标记,比如:
  @ViewBag.Name
  • 单行(Single Line)标记,比如:
  @{ var name = "Slark";}
  @{ Response.Write("Single Line : Name is" + name + "<br />");}
  • 多行(Multi-Line)标记,比如:
  @{
    var name="Slack";
    Response.Write("Multi-Line : Age is " + age + "<br />");
  }
  •  Keyword(){}特殊语法,在遇到如if、for、while等具有"keyword(){}"形式的C#代码结构时,Razor标记可以写成"@keyword(){}"这样的特殊形式。

    这个不是强制性的,比如:

  @if (1 > 2)
  {
      Response.Write("1 > 2 <br />");
  }
  else
  {
      Response.Write("1 <= 2 <br />");
  }
  @for (int i = 0; i < 3; i++)
  {
      Response.Write(i + " <br />");
  }

3、在Razor标记中写入文本,即在服务器代码里嵌入html代码,一共三种方法:

  • 在Razor标记的代码中如果有成对的html标记,则这个标记及其内容会被当作普通文本输出。如上面的 <p>var name2 = "Slark";</p>
  • 在Razor标记的代码中如果有"@:",则其后的一行代码会被当作普通文本输出。如上面的 @:var name3 = "Slark";<br />
  • 在Razor标记的代码中如果有<text>...</text>标记,则其内容会被当作普通文本输出。如上面的 <text> var name4 = "Slark";<br /> var name5 = "Slark"; </text>

比如:

  @{
      <p>var name2 = "Slark";</p>
      @:var name3 = "Slark";<br />
      <text>
              var name4 = "Slark";<br />
              var name5 = "Slark";
      </text>
  }

原文:http://www.cnblogs.com/slark/p/mvc5-ef6-get-started-razor.html  

 转载于:https://www.cnblogs.com/tider1999/p/4162894.html

4、结合wdate使用

//WdatePicker控件时间限制
@Html.TextBoxFor(model => model.BookingStart, new { @onClick = "WdatePicker({dateFmt:'HH:mm',maxDate: '#F{$dp.$D(\'BookingEnd\')}'})", @style = "105px" })

 5、Razor可以直接在页面中读取到后台传过来的Model值,在一个详情页面,适合用这种写法,只是一个字符串的显示而已。

复制代码
<tr>
    <th>
        @Html.LabelFor(model => model.Operator):
    </th>
    <td>
        @Model.Operator
    </td>
</tr>
复制代码

 6、页面标签只读

@Html.TextBoxFor(model => model.Tag, new { @readonly = "readonly" })
原文地址:https://www.cnblogs.com/wfy680/p/14271034.html