آشنایی با Query String در ASP.NET CORE
آشنایی با Query String در ASP.NET CORE اصلا کار سختی نیست. در این آموزش قصد آشنایی با Query String را داریم. به طور کلی، Query String ابزاری قدرتمند برای ارسال اطلاعات به سرور و کنترل نحوه نمایش و پردازش دادهها در سمت کاربر است. کوئری استرینگ در واقع یکی از روشهای انتقال داده میباشد.
Query String از روش های Model Binding میباشد.
Query String چیست؟
Query String در واقع بخشی از یک URL است که پس از علامت سؤال ? قرار میگیرد و شامل پارامترها و مقادیر آنها است. این پارامترها اطلاعات اضافی را به سرور ارسال میکنند که میتواند برای پردازش و پاسخگویی به درخواست کاربر مفید باشد.
یکی از رایج ترین روش های ارسال داده از کلاینت به سرور استفاده از Query String ها میباشد.
ساختار Query String
Structure Query String
- بخش URL: این بخش شامل دامنه مورد نظر است. همچنین از اجزای دیگر آن میتوان به پروتکل، زیردامنه و مسیر اشاره کرد که در نهایت یک URL را تشکیل میدهد.
- کاراکتر ?: ابتدای Query String با علامت سوال (?) مشخص میشود. محل استفاده از این علامت پس از URL است.
- نام پارامتر: در Query String پارامترهای مختلف را میبینیم که هر پارامتر یک نام و یک مقدار دارد. پس از علامت سوال، نام اولین پارامتر دیده میشود.
- کاراکتر =: برای تعریف مقدار یک پارامتر، از علامت مساوی (=) استفاده میشود. این علامت پس از نام هر پارامتر وجود دارد.
- مقدار پارامتر: هر پارامتر یک نام و یک مقدار دارد. پس از نام و علامت مساوی، مقدار پارامتر دیده میشود.
- کاراکتر &: برای جداسازی پارامترهای مختلف، از علامت & استفاده میشود. این علامت بین مقدار پارامتر قبلی و اسم پارامتر بعدی دیده میشود.
نحوه تعریف Query String
به دو روش میتوان از کوئری استرینگ استفاده کرد. که در ادامه آنها را توضیح میدهیم.
- روش اول: فرض کنید یک کوئری استرینگ به نام Search را قرار است در کنترلر دریافت کنیم. البته اول برسی میکنیم که آیا مقدار کوئری استرینگ خالی است یا خیر.
if (HttpContext.Request.Query["search"].ToString().Length>=0)
{
string search = HttpContext.Request.Query["search"].ToString();
}
- روش دوم: در روش قبلی تعداد خط کد زیادی باید مینوشتیم. در این روش میتوانیم توسط پارامتر های ورودی اکشن مقدار کوئری استرینگ را دریافت کنیم.
public IActionResult Index(string search)
{
if (search != null)
{
string Mysearch = search;
}
return View();
}
- دریافت بیش از یک کوئری استرینگ: کافی است از کاراکتر & استفاده کنیم. در مثال زیر نام و نام خانوادگی دریافت شده است.
public IActionResult Index(string name,string family)
{
ViewBag.info=name+" "+family;
return View();
}
لینک
https://domin/?name=Mohammadreza&family=Ahadian
کاربرد ها
- جستجو در وبسایتها: موتورهای جستجو مانند Google از Query String استفاده میکنند.
- فیلتر کردن و مرتبسازی دادهها: بسیاری از سایتها از Query String برای فیلتر کردن نتایج (مثلاً بر اساس دستهبندیها یا قیمت) و مرتبسازی آنها استفاده میکنند.
- پیگیری کاربران و تجزیه و تحلیل: سایتها میتوانند از Query String برای ردیابی فعالیتهای کاربران و جمعآوری دادههای آماری استفاده کنند.
- ارسال داده به سرورها: فرمها و رابطهای کاربری معمولاً دادهها را به صورت Query String به سرورها ارسال میکنند.
محدودیت ها
- امنیت: اطلاعات حساس نباید در Query String قرار گیرند. زیرا در URL قابل مشاهده است و به راحتی قابل مشاهده و سرقت هستند.
- طول: برخی مرورگرها و سرورها محدودیت طولی برای URL دارند، بنابراین استفاده از Query String بسیار طولانی میتواند مشکلساز شود.
دانلود سورس کد پروژه از گیت هاب دانلود