.NET

.NET Core

.NET Core 有幾種模板,文件結構不同:

  • Razor Pages:用於網頁
  • MVC:Model、View、Controller
  • Web API:用於 API

程式從 Program.cs 開始執行。

Razor Pages

每個 Razor 頁面包含:

  • .cshtml:處理前端
  • .cshtml.cs:處理後端

.cshtml

  • @page:標記頁面
  • @model:指定後端代碼(哪個 .cshtml.cs 文件)
  • @{}:嵌入 C# 代碼
  • @section
    • 每個頁面都基於 Pages/Shared 的佈局生成的,所以不需要放進完整的代碼。@section 指定內容對應佈局的哪個部分
  • 沒用 @ 包住的部分,會放進布局的 @RenderBody()

.cshtml.cs

  • [BindProperty]:自動綁定前端數據
  • 示例:public async Task<IActionResult> OnPostUpdateMarkersAsync
    • 根據方法的名稱處理頁面請求
    • 用了 [BindProperty] 之後,無需手動把 JSON 轉成 object
    • 返回 Task,會變成 JavaScript 的 Promise

設置 API Key

dotnet user-secrets init
dotnet user-secrets set "GoogleApi:Key" "YOURAPIKEY"

在 cshtml.cs 裏面:


        private readonly IConfiguration _config;
        public IndexModel(IConfiguration config)
        {
            _config = config;
        }
        var apiKey = _config["GoogleApi:Key"] ?? throw new InvalidOperationException("Google API key not found");
🌐Check out other language versions!
網站使用 Hugo 製作
模板 StackJimmy 設計