دوستان یک لینک دارم که میخوام وقتی کاربر روی اون کلیک کرد اون لینک باز بشه. از طریق تگ a میتونم این کار رو به راحتی انجام بدم و مشکلی نیست.
<a href='https://google.com'>Click me ...</a>
اما من میخوام قبل از اینکه این لینک باز بشه یه سری عملیاتی در دیتابیس انجام بشه. مثلا می خوام تعداد کلیک هایی که روی این لینک انجام شده رو در دیتابیس ثبت کنم و بعد از اون لینک رو باز کنم.
باز کردن لینک (URL) از طریق کنترلر در Asp.net Mvc Core به چه صورتی انجام میشه ؟
وقتی شما می خواید قبل از اینکه یک URL رو در Asp.net Core یا Asp.net mvc باز کنید یکسری عملیات رو انجام بدید نباید به صورت مستقیم لینک اون آدرس رو در تگ a قرار بدید. چون در این صورت به محض کلیک روی لینک به صفحه مرد نظر هدایت می شوید و نمیتونید دستورات مورد نظر خودتون رو اجرا کنید. برای این منظور میتونید از دستور Redirect در کنترلر استفاده کنید.
خب برای باز کردن یک لینک از طریق کنترلر در Asp.net Core مراحل زیر رو انجام بدید. در ابتدا در View خودتون یک تگ a ایجاد کنید. در این تگ a کنترلر و اکشن متد رو تعیین کنید. همچنین آدرس مورد نظر رو هم میتونید به صورت یک پارامتر ارسال کنید به کنترلر و در Action دریافتش کنید.
<a asp-controller="Home" asp-action="openlink" asp-route-url="https://URL.com">
کلیک کتید
</a>
//Or
<a href="Home/openlink?url=https://URL.com">
کلیک کتید
</a>
خب وقتی روی لینک بالا کلیک میشه کاربر به سمت کنترلر Home و اکشن متد openLink هدایت میشه. اما حالا در این اکشن متد باید چه کاری انجام بشه.
public class HomeController : Controller
{
[HttpGet]
public IActionResult openlink(string url)
{
//Your Statement
return Redirect(url);
}
}
خب همونطوری که در کدها مشخص هست در اکشن openLink مقدار پارامتر url رو دریافت می کنیم و توسط دستور Redirect کاربر رو به لینک مورد نظر هدایت می کنیم. در این اکشن متد میتونید عملیات مورد نظرتون رو قبل از Redirect انجام بدید.
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
57
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
97
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1031
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
426
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1347
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4796
- پاسخ :
1
|
تاریخ :
1403/07/27
- ساعت :
03:21:00 PM
- بازدید :
205
- پاسخ :
1
|
تاریخ :
1403/07/26
- ساعت :
09:00:00 PM
- بازدید :
116
- پاسخ :
0
|
تاریخ :
1403/05/16
- ساعت :
09:57:00 AM
- بازدید :
395
- پاسخ :
2
|
تاریخ :
1403/06/25
- ساعت :
11:39:00 PM
- بازدید :
562
- پاسخ :
1
|
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
57
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
97
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1031
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
426
- پاسخ :
1
|
تاریخ :
1402/08/01
- ساعت :
06:25:00 PM
- بازدید :
930
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1347
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4796
- پاسخ :
1
|
تاریخ :
1402/09/08
- ساعت :
07:34:00 PM
- بازدید :
1157
- پاسخ :
1
|
تاریخ :
1402/09/21
- ساعت :
11:10:00 PM
- بازدید :
595
- پاسخ :
1
|
تاریخ :
1403/07/27
- ساعت :
03:21:00 PM
- بازدید :
205
- پاسخ :
1
|