一,

1.@using :引入命名空间

2.@model:声明强类型的数据 Model 类型

3.@section:定义要实现母版页的节信息

4.@RenderBody():当创建基于此布局页面的视图时,视图的内容会和布局页面合并,而新创建视图的内容会通过布局页面的@RenderBody()方法呈现在标签之间。

在模板页的占位符,用来渲染那些没有特地命名的段落。

5.@RenderPage:呈现一个页面。比如网页中固定的头部可以单独放在一个共享的视图文件中,然后在布局页面中通过这个方法调用,用法如下:

@RenderPage("~/Views/Shared/_Header.cshtml")

6.@RenderSection:布局页面还有节(Section)的概念,便于局部呈现

二,

1.行内(inline)C#(服务器端代码)形式(行内代码)@变量

例如:@User.Name,变量或属性结束后,任何形式文本或者标签都自动被解析为html,如遇结束判断有歧义,请加括号如下

@( 表达式)

例如:@(i + 1) 或 @(User.Name)  括号里面为:表达式,或者变量

@方法调用

例如:@Html.TextBox("UserName").ToString()

2. 代码块 ( 注: 代码块里面的代码要严格按照c#语法来,每行结束必需有分号)

第一种情况:

@{ 代码块}

@if (条件) { 代码块}

@switch (条件) { 分支匹配代码块}

@for (循环控制) { 代码块}

  @foreach (循环控制) { 代码块} 

@while (循环控制) { 代码块}

@do { 代码块} while (循环控制)

第二种情况:(代码块中的文本或者Html客户端标签

(1)单行文本@:行内文本

换行的话自动变成了C#服务器端代码。

(2)多行文本

任何标签对 ,例如:<div>多行文字</div>

任何自闭合标签,例如:<img 多行属性 />

纯文字使用伪标签<text> ,例如:<text>

多行文字,两侧标签不会被输出</text>

3.其他

电子邮箱可以自动识别,例如:123456@qq.com

被误认为是电子邮箱的请加括号(),例如:123456(@UserName)

要输出商标版权等的,请用@字符转义,例如:@@ →会输出单个字符@

三,HtmlHelper和AjaxHelper

1.Html.BeginForm的两种写法:

(1)使用using语句

@using(Html.BeginForm()) {

}

(2)使用代码块闭合的形式  (注意form是代码块形式的不是行内代码:所以结尾必需有分号)

@{Html.BeginForm();}

@{Html.EndForm();}

2.Ajax.BeginForm()的写法

@using (Ajax.BeginForm(new AjaxOptions { UpdateTargetId="",OnSuccess=""})

{

}

注:这里要想Ajax的Form有效的话我们必须在view页面引入支持Ajax的Js脚本

@Scripts.Render("~/bundles/jqueryval")

 四,对于Razor智能感知的一点补充

当我们自定义一个类,让后想让这个类在Razor引擎有只能感知能力的时候。我们可以找到Views/Web.config文件,把我们的类所在的命名空间添加进去就可以了。

最新文章

  1. 5种 JavaScript 调用函数的方法
  2. javascript中的arguments对象
  3. hdu 1018:Big Number(水题)
  4. mongodb(4查询)
  5. Cinemagraph
  6. pinyin4j
  7. AngularJs的UI组件ui-Bootstrap-Tooltip
  8. MySQL无法登录服务器解决方法
  9. FFT算法的物理意义
  10. Windows服务、批处理项目实战
  11. CSS使用心得小结
  12. vue-amap 实例获取与自动缩放
  13. ZIP压缩输入/输出流
  14. Android学习之基础知识五—创建自定义控件
  15. Python自建collections模块
  16. 上台阶问题(递归,DFS)
  17. LIBCURL踩坑记
  18. tcpdump抓sql语句
  19. $(this).form(&quot;validate&quot;) 始终返回false
  20. ansible-playbook 主机变量1

热门文章

  1. [Codeforces600E] Lomsat gelral(树上启发式合并)
  2. windows8.1安装python
  3. Pandas处理缺失的数据
  4. redis缓存架构-03-redis下的replication以及master+slave
  5. 20191108PHP数组查找练习
  6. pylint在pycharm的使用及pylint的配置
  7. Django 项目环境搭建
  8. c++求中位数
  9. java static在成员方法中
  10. springboot中MongoDB的使用