Razor语法与布局

来源:互联网 发布:岂不到乎的拼音 编辑:程序博客网 时间:2024/05/22 03:21

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提供的。


0 0
原创粉丝点击