一起幫忙解決難題,拯救IT 人的一天 | asp-route-id
除了WebAPI,ASP.NETCore還有提供了MVC的架構提供選擇,其中與WebAPI最大的差異就是提供了Views做為網站畫面顯示。ASP.NETCoreMVC的Views提供了許多讓開發人員便利的功能:Razor語法、TagHelpers、ViewComponents...等等,副檔名為cshtml的檔案,會透過伺服器做渲染,轉換成HTML供瀏覽器顯示。Razor語法支援C#,並使用@符號從HTML轉換成C#。Razor評估C#運算式,並在HTML輸出中加以呈現。當@符號後面接著Razor保留關鍵字[1]時,它會轉換為Razor特定的標記。否則會轉換成一般C#。
現在時間:@DateTime.now.ToString("yyyy-MM-dd...
除了Web API,ASP.NET Core 還有提供了MVC的架構提供選擇,其中與Web API最大的差異就是提供了Views做為網站畫面顯示。ASP.NET Core MVC 的 Views 提供了許多讓開發人員便利的功能:Razor語法、Tag Helpers、View Components...等等,副檔名為cshtml的檔案,會透過伺服器做渲染,轉換成HTML供瀏覽器顯示。
Razor 語法支援C#,並使用 @ 符號從 HTML 轉換成 C#。Razor 評估 C# 運算式,並在 HTML 輸出中加以呈現。當 @ 符號後面接著 Razor保留關鍵字[1]時,它會轉換為 Razor 特定的標記。否則會轉換成一般 C#。
<p>現在時間:@DateTime.now.ToString("yyyy-MM-dd hh:mm:ss")</p> <p>上禮拜的現在:@(DateTime.Now - TimeSpan.FromDays(7))</p>在cshtml中輸入上方語法,可以得到以下結果:現在時間:2020-10-02 10:40:51上禮拜的現在: 2020/9/25 下午10:40:51
透過Razor語法可以使用C#語法,但是中間不能有空格,如果有空格則為判別為不是繼續使用Razor語法,所以在上面的範例,我們透過()將我們需要使用的語法包起來,以此來判別是同一個需要運算的區間。Razor語法還可以增加程式碼區段,透過@{}將運算式包在一個區段,在一個cshtml中的程式碼區段和運算式會共用相同的範圍並依序定義
@{ var name = "ATai"; } <p>@name</p> @{ name = "Xiang"; } <p>@name</p>輸出的結果就會為ATaiXiang
Razor語法也可以使用迴圈以及條件式的判斷
迴圈:
@for (var i = 0; i < members.Length; ...