یكی از مزایای برنامه های ASP قابلیت ایجاد ارتباط متقابل با كاربران است. همانطور كه می دانید یكی از بخش های مهم هر نرم افزار بخش رابط كاربر است كه كاربران را قادر می سازد بسرعت و بسادگی با نرم افزار مربوطه ارتباط برقرار كرده و از پتانسیل های موجود در یك نرم افزار استفاده نمایند.
بخش رابط كاربر در اغلب نرم افزارهای وب به عهده مرورگرها گذاشته شده است. این نرم افزارها دارای امكانات لازم جهت ایجاد یك محیط رابط كاربر مناسب می باشند. یكی از مسائل مهم در هر نرم افزار نحوه اخذ اطلاعات از كاربران و در نهایت پردازش و ارائه خروجی های لازم است. بدون شك پتانسیل اخذ اطلاعات از استفاده كننده یك نرم افزار را می توان نقطه آغازین هر نوع برنامه كامپیوتری دانست.
در برنامه های ASP ، با استفاده از فرم ها می توان اقدام به اخذ اطلاعات از كاربران نمود. پس از ارسال اطلاعات در قالب فرم ها زمینه پردازش آنها بر روی سرویس دهنده فراهم می گردد. نكته مهم در این زمینه این است كه محل اخذ اطلاعات و محل پردازش اطلاعات دو محل كاملا متمایز از هم بوده و ایده پردازش سیستمهای سرویس گیرنده / سرویس دهنده در این مدل معنای خاص خود را پیدا می كند.
در برنامه های ASP با استفاده از دستورات Request.QueryString و Request.Form امكان اخذ اطلاعات فراهم می گردد.
Request.QueryString
با استفاده از دستور فوق می توان اقدام به جمع آوری اطلاعات یك فرم بصورت متن نمود. اطلاعات جمع آوری شده توسط متد GET ارسال خواهند شد. استفاده از متد فوق جهت ارسال اطلاعات یك فرم دارای محدودیت حجم اطلاعات ارسالی است.
مثال زیر یك فرم ساده را كه دارای دوفیلد متن معمولی با نام FirstName و LastName است ، ایجاد و پس از تكمیل فرم توسط كاربر و همزمان با فشردن دكمه Send آنها را برای برنامه GetName.asp بر روی سرویس دهنده ارسال میدارد.
در صورتیكه فرم فوق پس از تكمیل توسط متد GET ( همانطور كه در تعریف فرم نیز آورده شده است ) ارسال گردد و كاربر در قسمت نام کلمه Javad ودر قسمت نام خانوادگی کلمه Sakhaee را تایپ كرده باشد ، آدرس زیر پس از فشردن دكمه Send برای سرویس دهنده ارسال می گردد.
http://www.Mycompany.com/GetName.asp?FirsName=Javad&LastName=Sakhaee
آدرس فوق در بردارنده چندین نكته مهم است : اولا نام فایل (برنامه ای) كه می بایست بر روی سرویس دهنده فعال گردد را مشخص میسازد ( GetName.asp ) و ثانیا داده های اخذ شده و ذخیره شده در دو متغیر با نام FirstName و LastName را در اختیار برنامه فوق قرار خواهد داد. هر یك از پارامترهای تایپ شده توسط علامت & از دیگری جدا شده است. تا اینجای قضیه، فرم توسط كاربر تكمیل و ارسال شده است در ادامه می بایست با ماهیت برنامه GetName.asp كه بر روی سرویس دهنده قرار دارد و می بایست بر روی داده های ارسالی عملیات مورد نظر را انجام دهد ، آشنا شویم. این برنامه می تواند دارای اسكریپت هائی مطابق زیر باشد :
Welcome to IranASP.NET site
<%
response.write(request.querystring("FirstName"))
response.write(" ")
response.write(request.querystring("LastName"))
%>
برنامه فوق پس از اجرا ، خروجی زیر را بر روی مرورگر كاربر به نمایش در می آورد.
Welcome to IranASP.NET site Aleksander sisak
Request.Form
در صورتیكه اطلاعات موجود در یك فرم را از طریق متد POST اخذ كرده باشیم ، از دستور فوق استفاده می شود. برخلاف متد GET این متد ( POST ) دارای محدودیت از بعد حجم اطلاعات ارسالی نبوده و امنیت ارسال اطلاعات نیز دارای مقبولیت بیشتری است.
در صورتیكه فرم فوق پس از تكمیل توسط متد POST ( در تعریف فرم می بایست مشخص گردد ) ارسال گردد و كاربر در بخش نام Javad ودر بخش نام خانوادگی Sakhaee را تایپ كرده باشد ، آدرس زیر پس از فشردن دكمه Send برای سرویس دهنده ارسال می گردد.
http://www.Mycompany.com/GetName.asp
برنامه GetName.asp كه بر روی سرویس دهنده قرار دارد و می بایست بر روی داده های ارسالی عملیات مورد نظر را انجام دهد ، دارای اسكریپت هائی مطابق زیر است:
Welcome to IranASP.NET site
<%
response.write(request.form("FirstName"))
response.write(" ")
response.write(request.form("LastName"))
%>