Razor基本语法

率先说下MVC,mvc已经不用ViewState来保存网页的情景,所以一大半凭借ViewState的功力都将不可能使用,
比如gridview的分页与排序,page
trace等利用viewstate记录状态的效果将整个失效,此外的大改变正是 asp.net
mvc已经远非页素不相识命周期也尚无事件驱动.

率先说下MVC,mvc已经不用ViewState来保存网页的境况,所以超过二分之一凭借ViewState的职能都将不可能使用,
比如gridview的分页与排序,page
trace等选择viewstate记录状态的效率将全体失效,其余的大改变就是 asp.net
mvc已经远非页面生命周期也并未事件驱动.

     
 Razor语法是在MVC3.0引入的崭新的c#语法,取而代之<%…%>语法.用在mvc的view页面.

     
 Razor语法是在MVC3.0引入的崭新的c#语法,取而代之<%…%>语法.用在mvc的view页面.

第①谈一下razor语法的着力用法:

首先谈一下razor语法的主导用法:

1.假如在页面输出单一变量时,只要在c#讲话在此之前拉长@符号即可,范例如下:

1.若是在页面输出单一变量时,只要在c#话语以前拉长@符号即可,范例如下:

<p>

<p>

近期时时:@DateTime.Now

今天无时无刻:@DateTime.Now

</p>

</p>

② 、在页面中输出一段含有空白子元或运算子的结果时,必须在内外加上三个小括弧,范例如下:

② 、在页面中输出一段含有空白子元或运算子的结果时,必须在左右加上三个小括弧,范例如下:

<p>

<p>

会员名称:@(User.Identity.Name+Model.MemberLevel)

会员名称:@(User.Identity.Name+Model.MemberLevel)

启用情状:@(View.IsEnabled?”启用”:”停用”)

启用景况:@(View.IsEnabled?”启用”:”停用”)

</p>

</p>

三 、在页面中实施多行c#代码时,必须在前后加上二个大括弧,语法范例如下:

叁 、在页面中施行多行c#代码时,必须在内外加上2个大括弧,语法范例如下:

@{

@{

var name=”Daniel”;

var name=”Daniel”;

var message=”你好”+name;

var message=”你好”+name;

}

}

}

}

小心上述属于二个c#代码片段,在编慕与著述代码时必须符合c#语言专业,也便是每段句都要由支行结尾.

在意上述属于1个c#代码片段,在编慕与著述代码时务必符合c#言语专业,也正是每段句都要由支行结尾.

④ 、假使要在多行c#代码的Razor语法中插入html或其余文字内容,必须在每一行最前头加上”@:”符号,而且丰富”@:”符号的那行代码里,也能够增进别的Razor变量,如下范例:

④ 、借使要在多行c#代码的Razor语法中插入html或别的文字内容,必须在每一行最前边加上”@:”符号,而且丰裕”@:”符号的那行代码里,也得以加上别的Razor变量,如下范例:

@

@

{

{

var name=”Daniel”;

var name=”Daniel”;

@:你好”,我是 @name

@:你好”,我是 @name

}

}

本来也足以用如下加上一堆html标签,Razor语法会自动识别

自然也足以用如下加上一堆html标签,Razor语法会自动识别

@

@

{

{

var name=”Daniel”;

var name=”Daniel”;

<span>你好,我是</span> @name

<span>你好,我是</span> @name

}

}

恐怕使用Razor语法中的<text>标签

还是利用Razor语法中的<text>标签

@

@

{

{

var name=”Daniel”;

var name=”Daniel”;

<text>你好,我是</text> @name

<text>你好,我是</text> @name

}

}

伍 、假若要在Razor页面中输出“@”符号,可以在“@”符号前再加一@,如下:

伍 、要是要在Razor页面中输出“@”符号,能够在“@”符号前再加一@,如下:

@@Daniel,输出为@Daniel

@@Daniel,输出为@Daniel

陆 、属性名称误判

⑥ 、属性名称误判

当你想出口以下内容时 —

当你想出口以下内容时 —

你好,@ViewBag.Name先生。

你好,@ViewBag.Name先生。

会促成Razor把Name先生作为viewBag的属性了,解决办法有两种

会招致Razor把Name先生作为viewBag的习性了,消除办法有三种

  1. 你好,@(ViewBag.Name)先生;
  2. 你好,@ViewBag.Name<span>先生</span>
  3. 你好,<span>@ViewBag.Name</span>先生
  1. 你好,@(ViewBag.Name)先生;
  2. 你好,@ViewBag.Name<span>先生</span>
  3. 你好,<span>@ViewBag.Name</span>先生

⑦ 、输出一段可以分析的html

⑦ 、输出一段能够分析的html

当大家定义如下

当大家定义如下

@{

@{

ViewBag.Description=”<span
style=’font-weight:bold;’>描述文字</span>”;

ViewBag.Description=”<span
style=’font-weight:bold;’>描述文字</span>”;

}

}

@ViewBag.Description

@ViewBag.Description

结果为<span
style=’font-weight:bold;’>描述文字</span>,假若想出口html解析后的描述文字,那么能够采纳 html帮助方法Html.Raw(ViewBag.Description)

结果为<span
style=’font-weight:bold;’>描述文字</span>,若是想出口html解析后的叙说文字,那么可以利用 html帮忙方法Html.Raw(ViewBag.Description)

      假诺大家要将以下中的“System.web.MVc”变成一个Razor变量,

      借使大家要将以下中的“System.web.MVc”变成3个Razor变量,

      类别是 System.Web.Mvc.Controller

      类别是 System.Web.Mvc.Controller

只怕你也许会写成以下语法,不过出口结果不是可望的;输出结果为“体系是@ViewBag.MvcNamespace.Controller”

也许你恐怕会写成以下语法,不过出口结果不是愿意的;输出结果为“体系是@ViewBag.MvcNamespace.Controller”

@{
    ViewBag.MvcNamespace = “System.Web.Mvc”;
}

@{
    ViewBag.MvcNamespace = “System.Web.Mvc”;
}

类别是@ViewBag.MvcNamespace.Controller

类别是@ViewBag.MvcNamespace.Controller

     
为了完结输出结果能够改成以下方法体系是@(ViewBag.MvcNamespace).Controller,输出结果为“体系是System.Web.Mvc.Controller”

     
为了完成输出结果能够改成以下措施连串是@(ViewBag.MvcNamespace).Controller,输出结果为“类别是System.Web.Mvc.Controller”

 

 

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图