باز کردن لینک (URL) از طریق کنترلر در Asp.net Mvc Core
دوستان یک لینک دارم که میخوام وقتی کاربر روی اون کلیک کرد اون لینک باز بشه. از طریق تگ a میتونم این کار رو به راحتی انجام بدم و مشکلی نیست.
<a href='https://google.com'>Click me ...</a>
اما من میخوام قبل از اینکه این لینک باز بشه یه سری عملیاتی در دیتابیس انجام بشه. مثلا می خوام تعداد کلیک هایی که روی این لینک انجام شده رو در دیتابیس ثبت کنم و بعد از اون لینک رو باز کنم.
باز کردن لینک (URL) از طریق کنترلر در Asp.net Mvc Core به چه صورتی انجام میشه ؟
محاسبه تعداد کلیک هایی که روی یک لینک می شود در Asp.net
وقتی شما می خواید قبل از اینکه یک URL رو در Asp.net Core یا Asp.net mvc باز کنید یکسری عملیات رو انجام بدید نباید به صورت مستقیم لینک اون آدرس رو در تگ a قرار بدید. چون در این صورت به محض کلیک روی لینک به صفحه مرد نظر هدایت می شوید و نمیتونید دستورات مورد نظر خودتون رو اجرا کنید. برای این منظور میتونید از دستور Redirect در کنترلر استفاده کنید.
باز کردن لینک (URL) از طریق کنترلر در Asp.net Mvc Core
خب برای باز کردن یک لینک از طریق کنترلر در 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 هدایت میشه. اما حالا در این اکشن متد باید چه کاری انجام بشه.
باز کردن URL توسط متد Redirect در Asp.net Core
public class HomeController : Controller
{
[HttpGet]
public IActionResult openlink(string url)
{
//Your Statement
return Redirect(url);
}
}
خب همونطوری که در کدها مشخص هست در اکشن openLink مقدار پارامتر url رو دریافت می کنیم و توسط دستور Redirect کاربر رو به لینک مورد نظر هدایت می کنیم. در این اکشن متد میتونید عملیات مورد نظرتون رو قبل از Redirect انجام بدید.
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- نمایش صفحه در پنجره جدید با کلیک روی لینک (تگ a) در Asp
- افزودن مقادیر به صورت دستی به List دریافت شده از ریپازیتوری
- کار با CkEditor با قابلیت آپلود عکس
- خطا در ایجاد migration در Asp.net core
- تفاوت های Asp.net core و Asp.net mvc چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- نحوه لایه بندی پروژه Core و اضافه کردن به IIS
- ارسال ایمیل در Asp.net core
- آیا میشه در mvc core از کامپونت استفاده کرد
- آپلود فایل در Asp.net core چگونه است؟
- حذف کامل یک رکورد در جدول ریلیشن شده
- اشکال در آپلود فایل ویدیو در mvc core 2