整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          ASP.NET Web Pages-WebMail

          ASP.NET Web Pages-WebMail 幫助器

          ebMail 幫助器 - 眾多有用的 ASP.NET Web 幫助器之一。


          WebMail 幫助器

          WebMail 幫助器讓發送郵件變得更簡單,它按照 SMTP(Simple Mail Transfer Protocol 簡單郵件傳輸協議)從 Web 應用程序發送郵件。


          前提:電子郵件支持

          為了演示如何使用電子郵件,我們將創建一個輸入頁面,讓用戶提交一個頁面到另一個頁面,并發送一封關于支持問題的郵件。


          第一:編輯您的 AppStart 頁面

          如果在本教程中您已經創建了 Demo 應用程序,那么您已經有一個名為 _AppStart.cshtml 的頁面,內容如下:

          _AppStart.cshtml

          @{

          WebSecurity.InitializeDatabaseConnection("Users", "UserProfile", "UserId", "Email", true);

          }

          SP.NET 幫助器 - 對象參考手冊


          Analytics 對象參考手冊(Google)

          Helper描述
          Analytics.GetGoogleHtml(webPropertyId)為指定的 ID 呈現 Google Analytics JavaScript 代碼。
          Analytics.GetStatCounterHtml(project, security)為指定的項目呈現 StatCounter Analytics JavaScript 代碼。
          Analytics.GetYahooHtml(account)為指定的賬號呈現 Yahoo Analytics JavaScript 代碼。

          Bing 對象參考手冊

          Helper描述
          Bing.SearchBox([boxWidth])給 Bing 傳遞搜索。您可以設置 Bing.SiteUrl 和 Bing.SiteTitle 屬性來設定站點搜索和搜索框的標題,通常是在 _AppStart 頁面設置這些屬性。
          Bing.AdvancedSearchBox([, boxWidth] [, resultWidth] [, resultHeight]

          [, themeColor] [, locale])

          用可選的格式顯示 Bing 搜索結果在頁面上。您可以設置 Bing.SiteUrl 和 Bing.SiteTitle 屬性來設定站點搜索和搜索框的標題,通常是在 _AppStart 頁面設置這些屬性。

          Chart 對象參考手冊

          Helper描述


          Chart(width, height [, template] [, templatePath])初始化圖表。
          Chart.AddLegend([title] [, name])給圖表添加一個圖例。
          Chart.AddSeries([name] [, chartType] [, chartArea]

          [, axisLabel] [, legend] [, markerStep] [, xValue]

          [, xField] [, yValues] [, yFields] [, options])

          給圖表添加一系列數據。

          Crypto 對象參考手冊

          Helper描述
          Crypto.Hash(string [, algorithm])

          Crypto.Hash(bytes [, algorithm])

          返回指定數據的哈希。默認算法是 sha256。

          Facebook 對象參考手冊

          Helper描述
          Facebook.LikeButton(href [, buttonLayout] [, showFaces] [, width] [, height]

          [, action] [, font] [, colorScheme] [, refLabel])

          讓 Facebook 用戶連接到網頁。

          FileUpload 對象參考手冊

          Helper描述
          FileUpload.GetHtml([initialNumberOfFiles] [,allowMoreFilesToBeAdded]

          [, includeFormTag] [, addText] [, uploadText])

          為上傳文件呈現 UI。

          GamerCard 對象參考手冊

          Helper描述
          GamerCard.GetHtml(gamerTag)呈現指定的 Xbox gamer 標簽。

          Gravatar 對象參考手冊

          Helper描述
          Gravatar.GetHtml(email [, imageSize] [, defaultImage] [, rating]

          [, imageExtension] [, attributes])

          為指定的電子郵件地址呈現 Gravatar 圖像。

          Json 對象參考手冊

          Helper描述
          Json.Encode(object)用 JavaScript Object Notation (JSON) 把數據對象轉換為字符串。
          Json.Decode(string)轉換 JSON 編碼的輸入字符串為您指定的數據對象。

          LinkShare 對象參考手冊

          Helper描述
          LinkShare.GetHtml(pageTitle [, pageLinkBack] [, twitterUserName]

          [, additionalTweetText] [, linkSites])

          使用指定的標題和可選的 URL 呈現社會網絡鏈接。

          ModelState 對象參考手冊

          Helper描述
          ModelStateDictionary.AddError(key, errorMessage)關聯錯誤信息和一個表單域。使用 ModelState 幫助器訪問成員。
          ModelStateDictionary.AddFormError(errorMessage)關聯錯誤信息和一個表單。使用 ModelState 幫助器訪問成員。
          ModelStateDictionary.IsValid如果沒有驗證錯誤,返回 true。使用 ModelState 幫助器訪問成員。

          ObjectInfo 對象參考手冊

          Helper描述
          ObjectInfo.Print(value [, depth] [, enumerationLength])呈現一個對象和所有子對象的屬性和值。

          Recaptcha 對象參考手冊

          Helper描述
          Recaptcha.GetHtml([, publicKey] [, theme] [, language] [, tabIndex])呈現 reCAPTCHA 驗證測試。
          ReCaptcha.PublicKey

          ReCaptcha.PrivateKey

          設置 reCAPTCHA 服務的公共和私有密鑰。通常是在_AppStart 頁面設置這些屬性。
          ReCaptcha.Validate([, privateKey])返回 reCAPTCHA 測試結果。
          ServerInfo.GetHtml()Renders 呈現有關 ASP.NET Web Pages 的狀態信息。

          Twitter 對象參考手冊

          Helper描述
          Twitter.Profile(twitterUserName)為指定的用戶呈現 Twitter 流。
          Twitter.Search(searchQuery)為指定的搜索文本呈現 Twitter 流。

          Video 對象參考手冊

          Helper描述
          Video.Flash(filename [, width, height])為指定的文件呈現寬度和高度可選的 Flash 視頻播放。
          Video.MediaPlayer(filename [, width, height])為指定的文件呈現寬度和高度可選 的 Windows Media 播放器。
          Video.Silverlight(filename, width, height)為指定的 .xap 文件呈現所需的寬度和高度 的 Silverlight 播放器。

          WebCache 對象參考手冊

          Helper描述
          WebCache.Get(key)通過 key 返回指定的對象,如果對象未找到則返回 null。
          WebCache.Remove(key)通過 key 從緩存中刪除指定的對象。
          WebCache.Set(key, value [, minutesToCache] [, slidingExpiration])通過 key 把 value 放置到指定名稱的緩存中。

          WebGrid 對象參考手冊

          Helper描述
          WebGrid(data)Creates a 使用查詢數據創建一個新的 WebGrid 對象。
          WebGrid.GetHtml()Renders markup 顯示數據在 HTML 表格中。
          WebGrid.Pager()為 WebGrid 對象呈現一個頁面。

          WebImage 對象參考手冊

          Helper描述
          WebImage(path)從指定的路徑加載一個圖像。
          WebImage.AddImagesWatermark(image)為指定圖像加水印。
          WebImage.AddTextWatermark(text)為圖像添加指定文本。
          WebImage.FlipHorizontal()

          WebImage.FlipVertical()

          水平/垂直翻轉圖像
          WebImage.GetImageFromRequest()當圖像被傳送到一個文件上傳頁面時,加載圖像。
          WebImage.Resize(width, height)調整圖像大小。
          WebImage.RotateLeft()

          WebImage.RotateRight()

          向左或向右旋轉圖像。
          WebImage.Save(path [, imageFormat])保存圖像到指定路徑。

          本文中,讓我們嘗試構建自定義 HTML Hepler以在 .NET Core MVC 應用程序中提供分頁。首先對不熟悉的人簡單介紹一下,什么是HTML Helper(助手):

          • HTML 助手使開發人員可以輕松快速地創建 HTML 頁面。
          • 在大多數情況下,HTML 助手只是一個返回字符串的方法。
          • MVC 帶有內置的 HTML 幫助器,例如 @Html.TextBox()、@Html.CheckBox()、@Html.Label 等。
          • HTML 助手在 razor 視圖中呈現 html 控件。例如,@Html.TextBox() 渲染 <input type="textbox"> 控件,@Html.CheckBox() 渲染 <input type="checkbox"> 控件等。

          需求

          在Web應用程序中,如果要顯示大量記錄,則需要提供分頁。在本文中,我們通過創建自定義 HTML Helper 在 .NET Core MVC 應用程序中實現分頁。為了簡單起見,我們只能使用數字來表示數據。

          假設我們需要在多頁中顯示 55 條記錄,每頁有 10 個項目,如上所示。

          開始

          打開 Visual Studio 2019 > 創建 .NET Core MVC 應用程序,如下所示。

          項目命名為 HTMLHelpersApp。

          選擇 .NET 框架版本。

          創建所需的模型和幫助文件。

          1. 創建一個新模型“Number”。
          2. 右鍵單擊 Model 文件夾并添加“Number”類。

          在 Number.cs 中添加代碼。該模型捕獲用戶輸入。它只有一個屬性:“InputNumber”。

          using System;
          using System.ComponentModel.DataAnnotations;
          
          
          namespace HTMLHelpersApp.Models
          {
              public class Number
              {
                  //validation for required, only numbers, allowed range-1 to 500
                  [Required(ErrorMessage="Value is Required!. Please enter value between 1 and 500.")]
                  [RegularExpression(@"^\d+$", ErrorMessage="Only numbers are allowed. Please enter value between 1 and 500.")]
                  [Range(1, 500, ErrorMessage="Please enter value between 1 and 500.")]
                  public int InputNumber=1;
              }
          }

          現在讓我們添加一個公共類 PageInfo.cs。創建新文件夾 Common 并添加 PageInfo.cs 類。

          1. 右鍵單擊項目文件夾并添加一個新文件夾。

          在 PageInfo.cs 中添加代碼:

          1. Page Start 表示當前頁面上的第一項。
          2. Page End 表示當前頁面的最后一項。
          3. 每頁項目數表示要在頁面上顯示的項目數。
          4. Last Page 表示頁數/最后頁碼。
          5. Total Items 表示項目的總數。

          根據總項目數和每頁項目數,計算頁面的總頁數、第一個項目和最后一個項目。

          using System;
          using System.Collections.Generic;
          using System.Linq;
          using System.Threading.Tasks;
          
          
          namespace HTMLHelpersApp.Common
          {
              public class PageInfo
              {
                  public int TotalItems { get; set; }
                  public int ItemsPerPage { get; set; }
                  public int CurrentPage { get; set; }
          
          
                  public PageInfo()
                  {
                      CurrentPage=1;
                  }
                  //starting item number in the page
                  public int PageStart
                  {
                      get { return ((CurrentPage - 1) * ItemsPerPage + 1); }
                  }
                  //last item number in the page
                  public int PageEnd
                  {
                      get
                      {
                          int currentTotal=(CurrentPage - 1) * ItemsPerPage + ItemsPerPage;
                          return (currentTotal < TotalItems ? currentTotal : TotalItems);
                      }
                  }
                  public int LastPage
                  {
                      get { return (int)Math.Ceiling((decimal)TotalItems / ItemsPerPage); }
                  }
                  
              }
          }

          現在我們來到最重要的部分:創建自定義 HTML 助手。

          1. 創建自定義 HTML 幫助程序 PageLinks,它呈現頁碼、上一個和下一個鏈接。
          2. 在“Common”文件夾中添加一個新類“PagingHtmlHelpers.cs”。
          3. 在“PagingHtmlHelpers.cs”中添加代碼。
          4. 擴展 HtmlHelper 并添加新功能以添加頁面鏈接。
          public static IHtmlContent PageLinks(this IHtmlHelper htmlHelper, PageInfo pageInfo, Func<int, string> PageUrl)

          5.取2個參數

          1. pageInfo:添加頁碼
          2. 委托給函數:將整數和字符串作為參數添加控制器操作方法中所需的參數

          使用標簽構建器創建錨標簽。

          TagBuilder tag=new TagBuilder("a");
          Add attributes
          tag.MergeAttribute("href", hrefValue);
          tag.InnerHtml.Append(" "+ innerHtml + " ");

          樣式也可以用作屬性。

          using Microsoft.AspNetCore.Html;
          using Microsoft.AspNetCore.Mvc.Rendering;
          using System;
          using System.Text;
          
          
          namespace HTMLHelpersApp.Common
          {
              public static class PagingHtmlHelpers
              {
                  public static IHtmlContent PageLinks(this IHtmlHelper htmlHelper, PageInfo pageInfo, Func<int, string> PageUrl)
                  {
                      StringBuilder pagingTags=new StringBuilder();
                      //Prev Page
                      if (pageInfo.CurrentPage > 1)
                      {
                          pagingTags.Append(GetTagString("Prev", PageUrl(pageInfo.CurrentPage - 1)));
          
          
                      }
                      //Page Numbers
                      for (int i=1; i <=pageInfo.LastPage; i++)
                      {
                          pagingTags.Append(GetTagString(i.ToString(), PageUrl(i)));
                      }
                      //Next Page
                      if (pageInfo.CurrentPage < pageInfo.LastPage)
                      {
                          pagingTags.Append(GetTagString("Next", PageUrl(pageInfo.CurrentPage + 1)));
                      }
                      //paging tags
                      return new HtmlString(pagingTags.ToString());
                  }
          
          
                  private static string GetTagString(string innerHtml, string hrefValue)
                  {
                      TagBuilder tag=new TagBuilder("a"); // Construct an <a> tag
                      tag.MergeAttribute("class","anchorstyle");
                      tag.MergeAttribute("href", hrefValue);
                      tag.InnerHtml.Append(" "+ innerHtml + "  ");
                      using (var sw=new System.IO.StringWriter())
                      {
                          tag.WriteTo(sw, System.Text.Encodings.Web.HtmlEncoder.Default);
                          return sw.ToString();            
                      }
                  }
              }
          }

          在“Models”文件夾中添加一個新類“ShowPaging.cs”。

          • DisplayResult將在每一頁上顯示數字列表。
          • PageInfo將捕獲所有頁面詳細信息,例如每頁上的頁數、總項目、開始項目和最后一個項目等。
          using HTMLHelpersApp.Common;
          using System;
          using System.Collections.Generic;
          using System.ComponentModel.DataAnnotations;
          
          
          namespace HTMLHelpersApp.Models
          {
              public class ShowPaging
              {
                  
                  //validation for required, only numbers, allowed range-1 to 500
                  [Required(ErrorMessage="Value is Required!. Please enter value between 1 and 500.")]
                  [RegularExpression(@"^\d+$", ErrorMessage="Only positive numbers are allowed. Please enter value between 1 and 500.")]
                  [Range(1, 500, ErrorMessage="Please enter value between 1 and 500.")]
                  public int InputNumber { get; set; }
          
          
                  public List<string> DisplayResult { get; set; }
          
          
                  public PageInfo PageInfo;
              }
          }
          
          

          添加新控制器

          添加一個新控制器:“HTMLHelperController”

          右鍵單擊控制器文件夾并在上下文菜單中選擇控制器。

          選擇“MVCController-Empty”。

          在“HTMLHelperController”中添加代碼。

          using HTMLHelpersApp.Common;
          using HTMLHelpersApp.Models;
          using Microsoft.AspNetCore.Mvc;
          using System.Collections.Generic;
          
          
          namespace HTMLHelpersApp.Controllers
          {
              public class HTMLHelperController : Controller
              {
                  private const int PAGE_SIZE=10;
                  public IActionResult Number()
                  {
                      return View();
                  }
          
          
                  public IActionResult ShowPaging(ShowPaging model, int page=1, int inputNumber=1)
                  {
                      if (ModelState.IsValid)
                      {
                          var displayResult=new List<string>();
                          string message;
          
          
                          //set model.pageinfo
                          model.PageInfo=new PageInfo();
                          model.PageInfo.CurrentPage=page;
                          model.PageInfo.ItemsPerPage=PAGE_SIZE;
                          model.PageInfo.TotalItems=inputNumber;
          
          
                          //Set model.displayresult - numbers list
                          for (int count=model.PageInfo.PageStart; count <=model.PageInfo.PageEnd; count++)
                          {
                              message=count.ToString();
                              displayResult.Add(message.Trim());
                          }
                          model.DisplayResult=displayResult;
                      }
                      //return view model
                      return View(model);
                  }
              }
          }

          在 Views 文件夾中創建一個新文件夾“HTMLHelper”,并創建一個新視圖“Number.cshtml”。

          在“Number.cshtml”中添加代碼。

          @model HTMLHelpersApp.Models.Number
          
          
          <h4>Number</h4>
          <hr />
          <div class="row">
              <div class="col-md-4">
                  <form asp-action="ShowPaging" method="get">
                      <div asp-validation-summary="ModelOnly" class="text-danger"></div>
                      <div class="form-group">
                          <input asp-for="InputNumber" class="form-control"/>
                      </div>
                      <div class="form-group">
                          <input type="submit" value="Submit" class="btn btn-primary" />
                      </div>
                  </form>
              </div>
          </div>

          同樣,創建一個新視圖“ShowPaging.cshtml”。

          @model HTMLHelpersApp.Models.ShowPaging
          @using HTMLHelpersApp.Common
          
          
          <link rel="stylesheet" href="~/css/anchorstyles.css"/>
          <form>
              <h4>Show Paging</h4>
              <hr />
              <div asp-validation-summary="All" class="text-danger"></div>
              <dl class="row">
                  <dt class="col-sm-2">
                      <b>Number: </b> @Html.DisplayFor(model=> model.InputNumber)
                  </dt>
                  <dd>
                      <a asp-action="Number">Change Number</a>
                  </dd>
              </dl>
          
          
              <div>
                  @if (Model !=null && Model.DisplayResult !=null)
                  {
                      <ul>
                          @foreach (var item in Model.DisplayResult)
                          {
                              <li>@Html.Raw(item)</li>
                          }
                      </ul>
                      <div>
                          @Html.PageLinks(@Model.PageInfo, x=> Url.Action("ShowPaging",
                              new { page=x.ToString(), inputNumber=@Model.InputNumber }))
                      </div>
                  }
              </div>        
           </form>

          解決方案資源管理器如下所示:

          在“startup.cs”中配置默認控制器和操作。

          編譯并運行應用程序,輸入數字 35。

          點擊提交。

          你會在底部看到分頁,每頁顯示10個數字,一共4頁,且每頁都一個鏈接。


          主站蜘蛛池模板: 国产色综合一区二区三区| 亚洲国产成人久久综合一区 | 国产主播一区二区三区在线观看| 国产乱码精品一区二区三区中| 一区二区三区视频| 激情内射日本一区二区三区| 亚洲一区免费在线观看| 中文字幕亚洲乱码熟女一区二区| 一区二区三区精品| 亚洲爆乳无码一区二区三区| 国产精品日韩一区二区三区| 精品人妻无码一区二区三区蜜桃一| 无码人妻一区二区三区精品视频| 国模精品一区二区三区视频| 精品一区二区三区波多野结衣| 国精品无码一区二区三区在线蜜臀| 性色av无码免费一区二区三区| 国产精品福利一区二区| 亚洲AV本道一区二区三区四区| 丰满爆乳一区二区三区| 国产亚洲情侣一区二区无| 奇米精品一区二区三区在| 日韩精品无码一区二区三区四区| 欧洲精品码一区二区三区免费看 | 国产精品一区二区av不卡| 精品免费国产一区二区| 亚洲AV成人一区二区三区观看| 伊人久久大香线蕉AV一区二区| 日本免费一区二区三区| 无码喷水一区二区浪潮AV| 国产产一区二区三区久久毛片国语 | 亚洲av无码一区二区三区网站| 国产在线观看一区精品 | 亚洲一区二区三区在线播放| 一区在线免费观看| 国产美女一区二区三区| 加勒比精品久久一区二区三区| 丰满人妻一区二区三区视频53| 无码人妻精品一区二区三区东京热 | 亚洲熟女www一区二区三区| 日韩在线观看一区二区三区|