Blazor簡單教程(1.1):Razor基礎語法

文章目錄

  • 前言
  • 基本文件配置
    • 引入Layout組件
  • 語法介紹
    • @page
    • @code
    • Razor 語法
      • [ 顯式表達和隱式表達](https://learn.microsoft.com/zh-cn/aspnet/core/mvc/views/razor?view=aspnetcore-7.0#explicit-razor-expressions)
    • 綁定
      • 簡單綁定
      • 雙向綁定
      • 帶參數的函數綁定
    • 依賴注入

前言

Blazor最重要的是Razor組件和cshtml頁面。兩個最大的區別就是cshtml是完整的html,Razor是不完整的html

微軟Razor 語法官方文檔

我的Blazor基礎語法個人總結

C# Blazor 學習筆記(12):css樣式設置

C#小輪子:Visual Studio自動編譯Sass文件

基本文件配置

在這里插入圖片描述

  • Components:組件
  • Controller:控制器/API
  • Layout:布局
  • Models:實體對象
  • Pages:頁面
  • Service:服務/數據庫查詢
  • Utils:通用工具

引入Layout組件

語法介紹

在這里插入圖片描述

在這里插入圖片描述

@page

路由路徑:可以多路由

@page "/index"
//指向/index路徑
<h1 class="title">Hello, world!</h1>

@code

  • @code,聲明代碼空間
    在這里插入圖片描述

  • xxx.razor.cs 對應文件
    在這里插入圖片描述
    在這里插入圖片描述
    Tips:partial class即部分class,編譯的時候會組合成一個完整的class

Razor 語法

顯式表達和隱式表達

在這里插入圖片描述

綁定

簡單綁定

<h1>@Title</h1>
<button  @onclick="TitleBtn">按鈕點擊</button>
<h1>@RangeValue</h1>
@code{public string Title { get; set; } = "我是@Code Title字符串";/// <summary>/// 按鈕事件/// </summary>public void TitleBtn(){Title = "我被函數改變了!";}
}

注意,這里的綁定是單向綁定。不是雙向綁定,雙向綁定需要用到@Bind語法

雙向綁定


<button  @onclick="TitleBtn">按鈕點擊</button>
<input type="range" min="0" max="10" @bind="RangeValue"/>
<h1>@RangeValue</h1>
@code{public decimal RangeValue { get; set; } = 2;/// <summary>/// 按鈕事件/// </summary>public void TitleBtn(){RangeValue++;}
}

帶參數的函數綁定

Blazor 事件處理

在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

解決方案

@οnclick=“@(e=>你的函數))”


<h1>@Title</h1>
<button @onclick="@(e=>TitleBtn2("函數2帶參數按鈕點擊"))">帶參數按鈕點擊</button>@code{public string Title { get; set; } = "我是@Code Title字符串";public void TitleBtn2(string str){Title = str;}
}

依賴注入

依賴注入有兩種,我們這里統一使用cs的注入方式

        [Inject][NotNull]private NavigationManager navigationManager { get; set; }

在這里插入圖片描述
Blazor的路由

使用

        public void LoginBtn(){Console.WriteLine("登錄");navigationManager.NavigateTo("/index");}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/36334.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/36334.shtml
英文地址,請注明出處:http://en.pswp.cn/news/36334.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

synchronized使用

目錄 問題描述 1 鎖方法 2 鎖代碼塊 3 鎖某個類 4 靜態方法上的synchronized 當我們處理多線程處理同步問題的時候就會用到synchronized這個關鍵字&#xff0c;下面介紹下synchronized的四種用法。 問題描述 介紹之前我們先來看下&#xff0c;在java 多線程中 如果沒有線…

leetcode1. 兩數之和

題目&#xff1a;leetcode1. 兩數之和 描述&#xff1a; 給定一個整數數組 nums 和一個整數目標值 target&#xff0c;請你在該數組中找出 和為目標值 target 的那 兩個 整數&#xff0c;并返回它們的數組下標。 你可以假設每種輸入只會對應一個答案。但是&#xff0c;數組中…

QT:UI控件(按設計師界面導航界面排序)

基礎部分 創建新項目&#xff1a;QWidget&#xff0c;QMainWindow&#xff0c;QDialog QMainWindow繼承自QWidget&#xff0c;多了菜單欄; QDialog繼承自QWidget&#xff0c;多了對話框 QMainWindow 菜單欄和工具欄&#xff1a; Bar: 菜單欄&#xff1a;QMenuBar&#xff0…

A Survey for In-context Learning

A Survey for In-context Learning 摘要&#xff1a; 隨著大語言模型(LLMs)能力的增長&#xff0c;上下文學習(ICL)已經成為一個NLP新的范式&#xff0c;因為LLMs僅基于幾個訓練樣本讓內容本身增強。現在已經成為一個新的趨勢去探索ICL來評價和extrapolate LLMs的能力。在這篇…

微服務06-分布式事務解決方案Seata

1、Seata 概述 Seata事務管理中有三個重要的角色: TC (Transaction Coordinator) - **事務協調者:**維護全局和分支事務的狀態,協調全局事務提交或回滾。 TM (Transaction Manager) - **事務管理器:**定義全局事務的范圍、開始全局事務、提交或回滾全局事務。 RM (Resourc…

Java地圖專題課 基本API BMapGLLib 地圖找房案例 MongoDB

本課程基于百度地圖技術&#xff0c;由基礎入門開始到應用實戰&#xff0c;適合零基礎入門學習。將企業項目中地圖相關常見應用場景的落地實戰&#xff0c;包括有地圖找房、輕騎小程序、金運物流等。同時講了基于Netty實現高性能的web服務&#xff0c;來處理高并發的問題。還講…

ttf-dejavu fontconfig字體

ttf-dejavu fontconfig是驗證碼&#xff0c;pdf&#xff0c;excel時需要用到的字體 編輯dockerfile&#xff0c;先切換國內鏡像源&#xff0c;默認alpinelinux是國外源&#xff0c;下載包會很慢 vim Dockerfile FROM alpine:latest RUN sed -i s/dl-cdn.alpinelinux.org/mirr…

【創建型設計模式】C#設計模式之原型模式

原型模式是一種創建型設計模式&#xff0c;它通過復制現有對象來創建新對象&#xff0c;而無需通過實例化的方式。它允許我們使用已經存在的對象作為藍本&#xff0c;從而創建新的對象&#xff0c;這樣可以避免重復初始化相似的對象&#xff0c;提高了對象的創建效率。 現在給…

Sentinel

1、熔斷降級限流 熔斷 A服務調用B服務的某個功能&#xff0c;由于網絡不穩定、B服務卡機等問題&#xff0c;導致功能時間超長。如果這樣子的次數太多&#xff0c;我們就可以直接將B斷路&#xff08;A不再請求B接口&#xff09;&#xff0c;凡是調用B服務的直接返回降級數據&a…

13-數據結構-串以及KMP算法,next數組

串 目錄 串 一、串&#xff1a; 二、串的存儲結構&#xff1a; 三、模式匹配 1.簡單模式匹配&#xff08;BF算法&#xff09; 2.KMP算法 2.1-next&#xff08;j&#xff09;數組手工求解 2.2-nextval&#xff08;j&#xff09;數組手工求解 一、串&#xff1a; 內容受…

JVM垃圾回收篇-垃圾回收算法

JVM垃圾回收篇-垃圾回收算法 標記清除&#xff08;Mark Sweep&#xff09; 概念 collector指的就是垃圾收集器。 mutator是指除了垃圾收集器之外的部分&#xff0c;比如說我們的應用程序本身。 mutator的職責一般是NEW(分配內存)、READ(從內存中讀取內容)、WRITE(將內容寫入內…

將多個單獨的 Excel 文件合并成一個,并添加標題行

要將多個單獨的 Excel 文件合并成一個&#xff0c;并添加標題行&#xff0c;可以使用 Python 的 pandas 庫。以下是一個示例代碼&#xff0c;假設要合并的 Excel 文件都在同一個文件夾中&#xff1a; import os import pandas as pd # 指定文件夾路徑 folder_path path/to/fo…

vscode搭建c語言環境問題

c語言環境搭建參考文章:【C語言初級階段學習1】使用vscode運行C語言&#xff0c;vscode配置環境超詳細過程&#xff08;包括安裝vscode和MinGW-W64安裝及后續配置使用的詳細過程&#xff0c;vscode用戶代碼片段的使用&#xff09;[考研專用]_QAQshift的博客-CSDN博客 問題如下:…

[C++ 網絡協議] 套接字和地址族、數據序列

目錄 1. 套接字 1.1 在Linux平臺下構建套接字 1.1.1 用于接聽的套接字(服務器端套接字) 1.1.2 用于發送請求的套接字(客戶端套接字) 1.2 在Windows平臺下構建套接字 1.2.1 Winsock的初始化 1.2.2 用于接聽的套接字(服務器端套接字) 1.2.3 用于發送請求的套接字(客戶端套…

pytest框架快速進階篇-pytest前置和pytest后置,skipif跳過用例

一、Pytest的前置和后置方法 1.Pytest可以集成unittest實現前置和后置 importunittestimportpytestclassTestCase(unittest.TestCase):defsetUp(self)->None:print(unittest每個用例前置)deftearDown(self)->None:print(unittest每個用例后置)classmethoddefsetUpClass…

jmeter中用戶參數和用戶定義的變量的區別

如果使用jmeter做過參數化的人都知道&#xff0c;參數化的方式有多種&#xff0c;其中一種就是使用用戶定義的變量&#xff0c;還有一種是使用用戶參數。那么&#xff0c;這兩個有什么異同呢&#xff1f; 一、先說相同的點&#xff1a; 1、都可以參數化&#xff0c;以供sample…

allure測試報告

使用pytest結合Allure進行測試報告生成的簡單教程 allure測試報告 Allure基于Java開發&#xff0c;因此我們需要提前安裝Java 8或以上版本的環境。 ◆安裝allure-pytest插件在DOS窗口輸入命令“pip3 install allure-pytest”&#xff0c;然后按“Enter”鍵。 下載安裝Allure…

使用 Docker 部署 canal 服務實現MySQL和ES實時同步

文章目錄 0. 環境介紹0. 前置步驟1. 安裝Kibana和Elasticsearch2. 安裝Canal和Canal Adapter2.1 修改數據庫配置2.1.1 修改配置2.1.2 驗證mysql binlog配置2.1.3 查看日志文件2.1.4 用JDBC代碼插入數據庫 2.2 安裝Canal Server2.3 安裝Canal Adapter修改兩處配置文件配置文件取…

Linux 命令篇

一、啟動網絡命令 ip addr 查看網卡信息 service network start 啟動網卡 service network stop 關閉網卡 service network restart 重啟網絡 二、pwd 命令 查看當前目錄的路徑 linux 下所有的絕對路徑都是從根目錄 "/" 開始 root:是linux下root用戶的根目…

初識mysql數據庫之引入mysql客戶端庫

目錄 一、下載第三方庫 1. 準備工作 1. 使用mysql官網提供的庫 2. yum源安裝 二、測試第三方庫是否可用 三、mysql常用接口介紹 1. 查看官方文檔 2. 初始化 3. 關閉mysql 4. 連接mysql 5. 下達sql指令 四、一個簡單的C客戶端庫連接mysql程序 1. 頭文件 2. 初始化…