close
دانلود آهنگ جدید
ساخت لینک در Razor Pages توسط Tag Helper ها

یک توسعه دهنده .Net

ساخت لینک در Razor Pages توسط Tag Helper ها

Tag Helper,Razor Pages,

همونطور که میدایند Razor Page  ها قابلیت جدید  مانند Controller ها در MVC هستند با این تفاوت که MVVM هستند تقریبا مثل ASP.NET Web Forms ها و Code Behind  ها، که خود این بحث جداست و ما به آن کاری نداریم.برای ایجاد لینک در Razor Pages  از TagHelper  ها استفاده میکنیم.فرض کنید ما در Page خودمان (Page  از نوع Razor Page می باشد) می خواهیم یک لینک به Page2  بدهیم برای این کار توسط تگ هلپر ها اینطور عمل میکنیم: <a asp-page="Page2">لینک به پیج2 </a>حالا…

ساخت لینک در Razor Pages توسط Tag Helper ها

ساخت لینک در Razor Pages  توسط Tag Helper  ها 227

همونطور که میدایند Razor Page  ها قابلیت جدید  مانند Controller ها در MVC هستند با این تفاوت که MVVM هستند تقریبا مثل ASP.NET Web Forms ها و Code Behind  ها، که خود این بحث جداست و ما به آن کاری نداریم.


برای ایجاد لینک در Razor Pages  از TagHelper  ها استفاده میکنیم.فرض کنید ما در Page خودمان (Page  از نوع Razor Page می باشد) می خواهیم یک لینک به Page2  بدهیم برای این کار توسط تگ هلپر ها اینطور عمل میکنیم:

 <a asp-page="Page2">لینک به پیج2 </a>

حالا اگر بخواهیم یک یا چند مقدار را همراه با لینک پاس بدهیم اینگونه عمل میکنیم

 <a asp-page="Page2" asp-route-id="2">لینک به پیج2 </a>

پس فرمول کلی برای لینک دادن از طریق تگ هلپر ها به صورت عمومی معمولا به این صورت هست:
<a  asp-page="PAGE-NAME" asp-route-{PARAMETER-NAME}="PARAMETER-VALUE"> YOUR TEXT </a>

2 نکته وجود دارد اولین نکته این است که اگر PARAMETER-NAME همنام با متغییر در route باشد آدرس اینطوری میشود:
espiar.ir/Post/2
و اگر هم نام نباشد به صورت QueryString ارسال میشود
espiar.ir/Post?Name=Arman

و نکته دوم این هست که آدرس دهی نسبی باید بدهید. مثلا در مثال بالا Page و Page2  هم سطح بودند برای همین فقط نام کافیست ولی اگر page2 یک Folder  قبل تر باشد با این ایوطری آدرس میدادیم:
<a asp-page="./Page2" asp-route-id="2">لینک به پیج2 </a>

حالا زیاد روی نکته دوم مطمئن نیستم اما اگر در آدرس دهی به مشکل برخوردم باید این نکته را در نظر بگیرم
-- بروز شده-- باید آدرس را کامل داد مثلا:
 <a asp-page="/Admin/Roles/Index">