Razor语法与布局

1、razor语法实例

(1)隐式表达式

<span>@model.Message</span>

         说明:隐式表达式总是采用HTML编码方式

(2)显示代码表达式

<span>1+2=@(1+2)</span>


(3)无编码代码表达式

          有时候需要显示的渲染一些不应该采用HTML编码的值,这时可以采用Html.Raw方法
@{string message="<strong>加粗</strong>"};

<span>@Html.Raw(model.Message)</span>

(4)代码块

        代码块是简单的执行代码部分,对以后要使用的变量很有帮助
@{

int x=123;

string y="aaa";

}

(5)文本和标记相结合

@foreach(var item in items){

<span>Item @item.Name</span>

}


(6)转义代码分隔符

        可以使用“@@”来编码“@”来显示"@"。

(7)服务器端的注释

@*
xxxxxxxxxxxxxxxx
*@


2、布局

(1)基本概念

        Razor的布局有助于使应用程序中的多个视图保持一致的外观。与Web Forms相比,其中母版页和布局的作用是相同的。

(2)实例

       布局文件为SiteLayout.cshtml:

<!DOCTYPE html>
  <html>
    <head>
      <title>@ViewBag.Title</title>
    </head>
    <body>
      <h1>@ViewBag.Title</h1>
      <div id="main-content">@RenderBody()</div>
    </body>
  </html>

        注意的是在视图中有一个@RenderBody()调用。这是一个占位符,用来标记使用这个布局的视图将渲染它们的主要内容的位置。多个Razor视图现在可以利用这个布局来显示一致的外观。


        看一个使用这个布局的例子Index.cshtml:

@{
  Layout = "~/Views/Shared/SiteLayout.cshtml";
  ViewBag.Title = "Index Page";
}
<p>Welcome to my Blog!</p>


       当渲染这个视图时,它的HTML内容将被放在SiteLayout.cshtml中的id属性值为“main-content”的DIV元素中,最后生成HTML标记如下所示:

 <!DOCTYPE html>
  <html>
    <head>
      <title>Index Page</title>
    </head>
    <body>
      <h1>Index Page</h1>
      <div id="main-content"><p>Welcome to my Blog!</p></div>
    </body>
 </html>

       注意视图内容,其中标题和h1标记内容都是由视图Index.cshtml提供的。除此之外的所有其他内容都是由布局SiteLayout.cshtml提供的。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值