می خواستم بدونم tag helper در Asp.net core چی هست و کجاها استفاده میشه ؟
Tag Helper ها یکی از ویژگی های جدید در Asp.net Core هستند که شما توسط اون میتونید عناصر Html رو ایجاد کنید و هر قابلیتی که توسط دستورات Html قابل انجام هست توسط Tag Helper ها هم قابل انجام هست. در واقع Tag Helper ها عناصر Server-Side هستن ولی المنتهای Client-Side رو ایجاد میکنن. یعنی شما دستورات C# می نویسید ولی موقع اجرا به عناصر Html تبدیل میشن. این امر توانایی های بسیار زیادی رو به شما میده.
برای استفاده از تگ هلپرها باید در بالای View خودتون دستور زیر رو اضافه کنید. در این صورت این قابلیت به سند cshtml شما اضافه میشه.
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
اجازه بدید چند تا مثال ساده از تگ هلپر رو ببینیم چون خیلی فهمیدن اونها رو راحت تر میکنه.
//Html
<a href='/Home/Send?id=2' class='myClass'>Click me...</a>
//Tag Helper
<a asp-Controller='Home' asp-Action='Send' asp-route-id='2' class='myClass'>Click me...</a>
در مثال بالا در ابتدا یک تگ a رو با استفاده از دستور Html ساده نوشتیم و در ادامه با استفاده از Tag Helper اون رو بازنویسی کردیم. همانطوری که می بینید برای استفاده از Class ها یا Style ها هیچ تفاوتی در استفاده از Tag Helper ها ایجاد نشده.
برخی از تگ هلپرهای مهم و پر استفاده در ادامه گفته شده است.
<a asp-Controller='Home' asp-action='Send' asp-route-firstname='Ali'>Click me</a>
<input asp-for='FirstName' Class='form-group' />
//it is equal to
<!--<input id='FirstName' name='FirstName' Class='form-group' />-->
همانطور که در مثال بالا مشخص شده است بعد از اجرا id و name کنترل دقیقا با نام فیلد یکسان می شود.
[Display(Name='نام کاربر')]
[Required(ErrorMessage='لطفا نام را وارد کنید')]
public string FirstName {get; set;}
در صورتی که فیلد بالا خالی باشد باید پیغام "لطفا نام را وارد کنید" را نمایش دهد. برای نمایش این پیغام در cshtml به صورت زیر عمل می کنیم.
<div>
<input asp-for='FirstName' Class='form-group' />
<span asp-validation-for='FirstName' ></span>
</div>
از تگ هلپر ها میتوان استفاده های دیگری هم کرد. در واقع با توجه به اینکه تگ هلپر ها دستورات سی شارپ هستند بنابراین با استفاده از این دستورات میتوان بسیار داینامیک تر عمل کرد. به عنوان مثال میتوان در بین دستورات Html از شرط ها استفاده کرد. به مثال زیر دقت کنید.
@foreach (var item in Model)
{
<tr>
@if (item.flag == true)
{
<td>تایید شد</td>
}
else
{
<td>رد شد</td>
}
</tr>
}
همانطوری که در مثال بالا می بینید می توانیم به راحتی با استفاده از کلمه @ از تگ هلپرها و دستورات سی شارپ در بین کدهای Html استفاده کنیم. البته دستور بالا رو میتونیم خیلی ساده تر از این هم بنویسیم.
@foreach (var item in Model)
{
<tr>
@(item.flag == true ? 'رد شد' : 'تایید شد')
</tr>
}
استفاده از تگ هلپر ها علاوه بر اینکه کدهای شما را خواناتر و ساده تر میکند کنترل بسیار خوبی را بر کدهای Html و css برای برنامه نویس به ارمغان می آورد. در واقع به راحتی شما با استفاده از کدهای سی شارپ می توانید شرط گذاشته و طبق شرطهای مختلف کدهای Html را اجرا کنید.
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
75
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
109
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1033
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
428
- پاسخ :
1
|
تاریخ :
1402/08/01
- ساعت :
06:25:00 PM
- بازدید :
930
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1356
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4797
- پاسخ :
1
|
تاریخ :
1403/07/27
- ساعت :
03:21:00 PM
- بازدید :
214
- پاسخ :
1
|
تاریخ :
1403/07/26
- ساعت :
09:00:00 PM
- بازدید :
117
- پاسخ :
0
|
تاریخ :
1403/05/16
- ساعت :
09:57:00 AM
- بازدید :
396
- پاسخ :
2
|
تاریخ :
1401/02/24
- ساعت :
02:17:00 PM
- بازدید :
2008
- پاسخ :
1
|
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
75
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
109
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1033
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
428
- پاسخ :
1
|
تاریخ :
1402/08/01
- ساعت :
06:25:00 PM
- بازدید :
930
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1356
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4797
- پاسخ :
1
|
تاریخ :
1402/09/08
- ساعت :
07:34:00 PM
- بازدید :
1160
- پاسخ :
1
|
تاریخ :
1402/09/21
- ساعت :
11:10:00 PM
- بازدید :
597
- پاسخ :
1
|