日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

ASP.NET Core MVC – Form Tag Helpers

發(fā)布時間:2023/12/4 asp.net 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ASP.NET Core MVC – Form Tag Helpers 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

簡介

我們已經(jīng)介紹過Tag Helpers以及一些最常用的Tag Helpers,也談到了緩存Tag Helpers。在這篇文章中,我們將討論表單Tag Helpers。

HTML或Web表單通過使用各種HTML元素用于收集來自用戶的輸入,如輸入框、復選框、單選按鈕、下拉列表等。使用?<form>?元素時,我們通常使用POST請求。雖然也可以使用GET請求,不過GET請求建議提交于少量、非敏感的數(shù)據(jù)來獲取數(shù)據(jù)。

ASP.NET Core MVC提供了一些Form Tag Helpers,讓我們看看最重要的是什么。

Form Tag Helper

當我們使用<form>元素時,ASP.NET Core MVC會自動添加防御CSRF攻擊保護措施;它通過生成隱藏的請求驗證令牌以防止CSRF攻擊。

看一個簡單的例子:

此代碼輸出的界面如下:

然而,這并不是全部,在幕后發(fā)生了什么:

請注意在HTTP Post操作方式中,RequestVerificationToken?與內(nèi)置的[ValidateAntiForgeryToken]屬性一起工作,同時,該請求方法會被標記為post方式。

Form Tag Helper的還提供了asp-route-{ParameterName}屬性,其中參數(shù)名稱為被添加到路由的值;并且還提供了@Html.BeginForm和@Html.BeginRouteForm另一種清晰的替代方式。

如果我們添加一個自定義路由:

并將表單修改為如下:

我們得到以下HTML:

它將執(zhí)行與剛才指定的?controller?和?action?方法。

這是使用舊的HTML Helpers語法:

? ?@using (Html.BeginForm("Edit", "Categories")) {}

新的語法是:

? ?<form asp-action="Edit" asp-controller="Categories">{}

第一個可能看起來更短更好,但第二個更自然,對于設計師或一名JS開發(fā)人員來說,在使用Angular、React的過程中,這將會更加自然。

Input Tag Helper

這一個很簡單,它是@Html.EditorFor(m => m.Name)的替代方式。

假設我們有一個具有?Name?屬性的視圖模型:

? ?<input asp-for="Name" />`

會產(chǎn)生如下代碼:

? ?<input type="text" id="Name" name="Name" />

Label Tag Helper

這一個也很簡單,它是@Html.LabelFor(m => m.Name)的替代方式。

它與輸入框Tag Helper配合使用:

? ?<input asp-for="Name" /><label asp-for="Name" />

與其它一樣,也具有智能感知功能,一旦您開始鍵入,就會檢測屬性的名稱:

如果我們將?Display?特性應用于?Name?屬性:

這是我們將獲得的HTML內(nèi)容:

? ?<label for="Name">Category Name</label>

TextArea Tag Helper

這一個非常類似于Input?Tag Helper:

以下Razor代碼:

? ?<textarea asp-for="Name"></textarea>`

我們將得到以下輸出:

Validation Message Tag Helper

我們使用Validation Tag Helper為我們的視圖模型的屬性顯示驗證消息,使用方式也很簡單:

? ?<span asp-validation-for="Name"></span>

我們得到的HTML:

? ?<span class="field-validation-valid" data-valmsg-for="Name" data-valmsg-replace="true"></span>

相關(guān)文章:

  • asp.net core mvc實現(xiàn)偽靜態(tài)功能

  • 如何在多個項目中分離Asp.Net Core Mvc的Controller和Areas

  • asp.net core 編譯mvc,routing,security源代碼進行本地調(diào)試

  • ASP.NET Core MVC四種枚舉綁定方式

  • ASP.NET Core MVC 模型綁定用法及原理

  • ASP.NET Core MVC 控制器創(chuàng)建與依賴注入

  • ASP.NET Core MVC 過濾器介紹

  • ASP.NET Core MVC Tag Helpers 介紹

  • ASP.NET Core MVC – Caching Tag Helpers

原文地址:http://www.cnblogs.com/tdfblog/p/form-taghelpers-in-asp-net-core-mvc.html


.NET社區(qū)新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關(guān)注

總結(jié)

以上是生活随笔為你收集整理的ASP.NET Core MVC – Form Tag Helpers的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。