<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      深入淺出Blazor webassembly之razor組件的C#代碼組織形式

      blazor webassembly之razor組件會被編譯成同名的C#類, 官方模版生成的razor文件, C#和Html混寫一起. 其實blazor 組件C#代碼還有其他組織形式.
      我們自己的C#代碼該寫到哪個文件中.

      ===================================
      形式1: C#和Html混寫在 razor 文件中
      ===================================
      官方模版生成的razor文件就是這個寫法, 看頁面和后臺數據關系, 非常簡單方便.

      FetchData.razor 文件內容:

      @page "/fetchdata"
      @inject HttpClient Http
      
      <h1>Weather forecast</h1>
      
      <p>This component demonstrates fetching data from the server.</p>
      
      @if (forecasts == null)
      {
          <p><em>Loading...</em></p>
      }
      else
      {
          <table class="table">
              <thead>
                  <tr>
                      <th>Date</th>
                      <th>Temp. (C)</th>
                      <th>Temp. (F)</th>
                      <th>Summary</th>
                  </tr>
              </thead>
              <tbody>
                  @foreach (var forecast in forecasts)
                  {
                      <tr>
                          <td>@forecast.Date.ToShortDateString()</td>
                          <td>@forecast.TemperatureC</td>
                          <td>@forecast.TemperatureF</td>
                          <td>@forecast.Summary</td>
                      </tr>
                  }
              </tbody>
          </table>
      }
      
      @code {
          private WeatherForecast[] forecasts;
      
      
          protected override async Task OnInitializedAsync()
          {
              Console.WriteLine("hello world");
              forecasts = await Http.GetFromJsonAsync<WeatherForecast[]>("sample-data/weather.json");
      
          }
      
          public class WeatherForecast
          {
              public DateTime Date { get; set; }
      
              public int TemperatureC { get; set; }
      
              public string Summary { get; set; }
      
              public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
          }
      }

       




      ===================================
      形式2: C#以paritial 類的形式寫到單獨的文件中
      ===================================
      這個寫法也很簡單, 建立一個 同名的 razor.cs 文件, 將我們自己的C#代碼放到這個文件中.

      FetchData2.razor 文件內容:

      @page "/fetchdata2"
      @* razor 模版部分和 fetchdata page 一樣 *@
      @inject HttpClient Http
      
      <h1>Weather forecast2 </h1>
      
      <p>This component demonstrates fetching data from the server.</p>
        
      
      @if (forecasts == null)
      {
          <p><em>Loading...</em></p>
      }
      else {
          <table class="table">
              <thead>
                  <tr>
                      <th>Date</th>
                      <th>Temp. (C)</th>
                      <th>Temp. (F)</th>
                      <th>Summary</th>
                  </tr>
              </thead>
              <tbody>
                  @foreach (var forecast in forecasts)
                  {
                      <tr>
                          <td>@forecast.Date.ToShortDateString()</td>
                          <td>@forecast.TemperatureC</td>
                          <td>@forecast.TemperatureF</td>
                          <td>@forecast.Summary</td>
                      </tr>
                  }
              </tbody>
          </table>
      }

       

      FetchData2.razor.cs 文件內容:

        最好將子類名 ComponentBase  加上, 這樣代碼智能提示的效果會更好一些.

      using System.Net.Http;
      using System.Net.Http.Json;
      using Microsoft.AspNetCore.Components.Forms;
      using Microsoft.AspNetCore.Components.Routing;
      using Microsoft.AspNetCore.Components.Web;
      using Microsoft.AspNetCore.Components.Web.Virtualization;
      using Microsoft.AspNetCore.Components.WebAssembly.Http;
      using Microsoft.JSInterop;
      using System.Threading.Tasks;
      using System.Linq;
      using System.Collections;
      using System;
      namespace blazorDemo1.Pages
      {
      
          public partial class FetchData2:ComponentBase 
          {
              private WeatherForecast[] forecasts;
      
              protected override async Task OnInitializedAsync()
              {
                  Console.WriteLine("hello world");
                  forecasts = await Http.GetFromJsonAsync<WeatherForecast[]>("sample-data/weather.json"); 
              }
      
              public class WeatherForecast
              {
                  public DateTime Date { get; set; }
      
                  public int TemperatureC { get; set; }
      
                  public string Summary { get; set; }
      
                  public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
              }
          }
      
      }

       


      ===================================
      形式3: razor 繼承自一個自定義的C# 類
      ===================================

      razor 繼承一個自定義的 FetchData3Base 類, 而 FetchData3Base 又繼承自 ComponentBase 類.

      FetchData3.razor 文件內容:

      @page "/fetchdata3"
      
      @* 繼承自 FetchData3Base 類 *@
      @inherits FetchData3Base
      
      @* Http 已經在 FetchData3Base C#代碼中做了注入, 這里需要刪除注入
       @inject HttpClient Http 
       *@
      
      
      <h1>Weather forecast3</h1>
      
      <p>This component demonstrates fetching data from the server.</p>
       
      
      @if (forecasts == null)
      {
          <p><em>Loading...</em></p>
      }
      else {
          <table class="table">
              <thead>
                  <tr>
                      <th>Date</th>
                      <th>Temp. (C)</th>
                      <th>Temp. (F)</th>
                      <th>Summary</th>
                  </tr>
              </thead>
              <tbody>
                  @foreach (var forecast in forecasts)
                  {
                      <tr>
                          <td>@forecast.Date.ToShortDateString()</td>
                          <td>@forecast.TemperatureC</td>
                          <td>@forecast.TemperatureF</td>
                          <td>@forecast.Summary</td>
                      </tr>
                  }
              </tbody>
          </table>
      }
       

       

      FetchData3.razor.cs 文件內容:

      using System.Net.Http;
      using System.Net.Http.Json;
      using Microsoft.AspNetCore.Components.Forms;
      using Microsoft.AspNetCore.Components.Routing;
      using Microsoft.AspNetCore.Components.Web;
      using Microsoft.AspNetCore.Components.Web.Virtualization;
      using Microsoft.AspNetCore.Components.WebAssembly.Http;
      using Microsoft.JSInterop;
      using System.Threading.Tasks;
      using System.Linq;
      using System.Collections;
      using System;
      using Microsoft.AspNetCore.Components;
      
      namespace blazorDemo1.Pages
      {
      
          /// <summary>
          /// 新建 FetchData3Base 基類,  FetchData3 razor自動生成類將繼承自這個類
          /// FetchData3Base 類需要繼承自 ComponentBase
          /// FetchData3Base 類注入 HttpClient 后, 就可以在 OnInitializedAsync() 獲取json data
          /// </summary>
          public class FetchData3Base :   ComponentBase 
          {
              [Inject] protected HttpClient Http { get; set; }
              protected WeatherForecast[] forecasts;
              protected override async Task OnInitializedAsync()
              {
                  Console.WriteLine("hello world");
                  forecasts = await Http.GetFromJsonAsync<WeatherForecast[]>("sample-data/weather.json"); 
      
            
              }
      
             
      
            
              public class WeatherForecast
              {
                  public DateTime Date { get; set; }
      
                  public int TemperatureC { get; set; }
      
                  public string Summary { get; set; }
      
                  public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
              }
          }
      
      }

       

      posted @ 2021-08-07 22:52  harrychinese  閱讀(550)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 香港日本三级亚洲三级| 无码免费中文字幕视频| 国产一级黄色片在线播放| 国产一区二区亚洲精品| 精品一区二区三区四区激情 | 欧美性猛交xxxx黑人| 国产av仑乱内谢| 日本道播放一区二区三区| 久久夜色撩人精品国产小说| 精品久久久久久国产| 野外做受三级视频| 亚洲2022国产成人精品无码区 | 国产午夜福利免费入口| 依依成人精品视频在线观看| 精品一区二区三区日韩版| 久久99精品久久久久久9| 国产欧美精品一区二区三区四区| 自拍视频亚洲精品在线| 粉嫩小泬无遮挡久久久久久| 亚洲国产成人va在线观看天堂| 国产高潮国产高潮久久久| 人妻少妇精品视频三区二区| 黄色A级国产免费大片视频| 不卡乱辈伦在线看中文字幕| 人妻一区二区三区三区| 青青草无码免费一二三区| 久热久热中文字幕综合激情| 久久这里都是精品一区| 国产精品内射在线免费看| 龙海市| 虎白女粉嫩尤物福利视频| 无遮高潮国产免费观看| 无码AV动漫精品一区二区免费| 久久亚洲精品国产精品| 国产亚洲天堂另类综合| 内射干少妇亚洲69XXX| 大肉大捧一进一出视频| 性欧美vr高清极品| 久久久亚洲欧洲日产国码αv| 免费看婬乱a欧美大片| 国产女主播一区|