<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
Razor 不是一種程式語言。它是伺服器端的標示語言。可以讓您將基於伺服器的程式碼(Visual Basic 和 C#)嵌入到網頁中。
當伺服器讀取頁面時,它首先執行 Razor 程式碼,然後再傳送 HTML 頁面到瀏覽器。在伺服器上執行的程式碼能夠執行一些在瀏覽器上不能完成的任務,比如,存取伺服器資料庫。伺服器程式碼能建立動態的 HTML 內容,然後傳送到瀏覽器。從瀏覽器上看,伺服器程式碼生成的 HTML 與靜態的 HTML 內容沒有什麼不同。
<!-- Single statement block --> @{ var myMessage = "Hello World"; } <!-- Inline expression or variable --> <p>The value of myMessage is: @myMessage </p> <!-- Multi-statement block --> @{ var greeting = "Welcome to our site!"; var weekDay = DateTime.Now.DayOfWeek; var greetingMessage = greeting + " Here in Huston it is: " + weekDay; } <p>The greeting is: @greetingMessage </p>
大括號裡面的就是表示作用域的範圍,用形如 “@[code]”來寫一段程式碼塊。在作用域 “@(code)” 中輸出也是用@符號的。
我的年齡: @{ int age = 25; string sex = "男"; @age }性別: @(sex)
@{ var strzm = "abc"; @:this is a mail:2734796332@qq.com.this is var:@strzm,this is mail@strzm,this is @@ //輸出abc @strzm }
如果需要在程式碼塊中輸出續或不連續的多行純文字,則使用text標籤較為方便。
@if (Model.Price > 5M) { <text> 名稱:<b>@Model.Name</b><br /> 分類:<b>@Model.Description</b><br /> 價錢:<b>@Model.Price</b><br /> <pre> 測試行一: <a>aaaa</a> 測試行二: @@ fda@aaa </pre> </text> }
一個變數的名稱必須以字母字元開頭,並且不能包含空格或者保留字元。變數使用 var 關鍵字宣告,或通過使用具體型別宣告。
// Using the var keyword: var greeting = "Welcome to RUNOOB.COM"; var counter = 103; // Using data types: string greeting = "Welcome to RUNOOB.COM"; int counter = 103;
if (myString.IsInt()){ myInt=myString.AsInt(); }
var myInt=1234; myString=myInt.ToString();
For 迴圈
<body> @for(var i = 10; i < 21; i++) {<p>Line @i</p>} </body>
For Each 迴圈
<body> <ul> @foreach (var x in Request.ServerVariables) { <li>@x</li> } </ul> </body>
While 迴圈
<body> @{ var i = 0; while (i < 5) {i += 1; <p>Line @i</p> } } </body>
</p> <p>Kai is now in position@{ string[] members = {"Jani", "Hege", "Kai", "Jim"}; int i = Array.IndexOf(members, "Kai")+1; int len = members.Length; string x = members[2-1]; } <html> <body> <h3>Members</h3> @foreach (var person in members) { <p>@person</p> } <p>The number of names in Members are @l en</p> <p>The person at position 2 is @x </p> <p>Kai is now in position @i </p> </body> </html>
If 條件
@{var price=50;} <html> <body> @if (price>30) { <p>The price is too high.</p> } </body> </html>
Else 條件
@{var price=20;} <html> <body> @if (price>30) { <p>The price is too high.</p> } else { <p>The price is OK.</p> } </body> </html>
Else If 條件
@{var price=25;} <html> <body> @if (price>=30) { <p>The price is high.</p> } else if (price>20 && price<30) { <p>The price is OK.</p> } else { <p>The price is low.</p> } </body> </html>
Switch 條件
@{ var weekday=DateTime.Now.DayOfWeek; var day=weekday.ToString(); var message=""; } <html> <body> @switch(day) { case "Monday": message="This is the first weekday."; break; case "Thursday": message="Only one day before weekend."; break; case "Friday": message="Tomorrow is weekend!"; break; default: message="Today is " + day; break; } <p> @message </p> </body> </html>
解釋:Layout方式佈局就相當於一個模板,我們在它地址地方去新增程式碼。類似於ASP.NET母版頁中的ContentPlaceHolder伺服器控制元件,在MVC中使用@RenderBody()來呈現子Web頁面的內容,它可以省去我們在每個檢視檔案中寫相同的html元素、JS和樣式等的工作。
母版頁:(~/Views/Layout/_SiteLayout.cshtml)
母版的呈現是MVC內部處理的,這種以下劃線(_)開頭的檢視檔案,一般是不能直接返回給使用者。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"/> <title>我的網站 - @Page.Title</title> </head> <body> @RenderBody() </body> </html>
子頁面:(~/Views/Home/About.cshtml)
@{ Layout = "~/Views/Layout/_SiteLayout.cshtml"; } <h1> 關於我的網站 </h1> <p> 這是一些內容顯示在關於我們這個頁面,我們用的是SiteLayout.cshtml這個主頁母版頁。 <br /> 當前時間:@DateTime.Now </p>
解釋:page當需要在一個頁面中,輸出另外一個Razor檔案(頁面)的內容時候用到,比如頭部或尾部這些公共的內容時需要用到,用@RenderPage()方法
母版頁:(~/Views/Layout/_SiteLayout.cshtml)
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /> <title>Simple Site</title> </head> <body> <!--頭部--> @RenderPage("~/Views/Layout/_header.cshtml") </body> </html>
公共頁:(~/Views/Layout/_header.cshtml)
<div id="header"> <a href="#" rel="external nofollow" rel="external nofollow" >主頁</a> <a href="#" rel="external nofollow" rel="external nofollow" >關於我們</a> </div>
解釋:Section是定義在Layout的頁面中使用的。在Layout的頁面中用。在要Layout的父頁面中使用@RenderSection()方法。
母版頁:(~/Views/Layout/_SiteLayout.cshtml)
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /> <title>Simple Site</title> </head> <body> <div id="left-menu"> @RenderSection("menu",true) </div> </body> </html>
公共頁:(~/Views/Layout/_menu.cshtml)
@{ Layout = "~/Views/Layout/_SiteLayout.cshtml"; } <h1> 關於我的網站 </h1> <p> 這是一些內容顯示在關於我們這個頁面,我們用的是SiteLayout.cshtml這個主頁母版頁。 <br /> 當前時間:@DateTime.Now </p> @section menu{ <ul id="sub-menu"> <li>選單1</li> <li>選單2</li> <li>選單3</li> <li>選單4</li> </ul> }
如果在子頁面中沒有去實現了menu了,則會丟擲異常。我們可以使用它的過載@RenderSection("menu", false)
@if (IsSectionDefined("menu")) { @RenderSection("menu", false) } else { <p>menu Section is not defined!</p> }
ASP.NET 幫助器是通過幾行簡單的 Razor 程式碼即可存取的元件。您可以使用 Razor 語法構建自己的幫助器,或者使用內建的 ASP.NET 幫助器。
下面是一些有用的 Razor 幫助器的簡短說明:
@Href("~/")//表示網站的根目錄
@Html.Raw('<font color='red'>紅字</font>')就會顯示出紅色的”紅字“,不用的話會直接顯示這段html字串(<font color='red'>紅字</font>)
@helper就是可以定義可重複使用的幫助器方法,不僅可以在同一個頁面不同地方使用,還可以在不同的頁面使用。
1、新建一個HelperMath.cshtml頁面
2、HelperMath.cshtml頁面寫方法
@*求和*@ @helper sum(int a, int b) { int result = a + b; @result }
3、Index.cshtml頁面呼叫
1+2= @HelperMath.sum(1, 2) <br />
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45