مفهوم و دلیل استفاده از پارامترها :
کنترل های سرور داده می توانند پارامترهایی را به عنوان مقدار ورودی دریافت کنند که به وسیله آنها می توانید مقادیر مورد نظر خود را در زمان اجرا به آنها ارسال کنید . پارامترهای ارسالی در موارد بسیاری به کار برده می شوند . شما می توانید از پارامترهای ارسالی برای تامین مقادیر لازم جهت جستجو و دریافت اطلاعات از منبع اطلاعاتی استفاده کرده و یا مقادیری جدیدی را که می خواهید به پایگاه داده وارد شوند را تعیین نمایید . همچنین می توانید پارامترها را برای حذف و یا ویرایش اطلاعات در یک منبع داده ای و یا برای عملیات هایی مثل صفحه بندی ( Paging ) ، مرتب سازی ( Sorting ) و یا فیلترینگ داده ها استفاده کنید .
برای مثال در یک جدول بانک اطلاعاتی می خواهید ، اطلاعات دانشجویان یک رشته خاص را بازیابی کنید ، برای این منظور شما بایستی نام رشته مورد نظر را توسط یک پارامتر به دستور SQL طراحی شده برای عملیات جستجو و فراخوانی اطلاعات ( خاصیت SelectCommand کنترل های سرور داده ) ، ارسال کنید . یا در جایی دیگر می خواهید ، اطلاعات افراد جدیدی را به جدول اضافه کنید ، در این حالت نیز باید داده های جدید را توسط پارامترهای خاص به کنترل ها ارسال کنید .
منابع دریافت پارامترها :
شما می توانید پارارمترهای ورودی را از منابع مختلفی تامین کنید که از آن جمله می توان به کنترل های ورود داده در صفحات وب ASP.NET مثل کنترل TextBox و یا کادر های متن ، کوکی های HTML صفحه ، خصوصیات کاربران ( User Profile ) و … اشاره کرد .
برای مثال کاربر می تواند نام رشته مورد نظر خود را در یک کادر متن تعیین شده وارد کند و یا اطلاعات دانشجویان جدید را برای اضافه شدن به پایگاه داده در یک فرم HTML قرار دهد .
انواع پارامترها :
پارامترهای ارسالی به کنترل های سرور داده در صفحات ASP.NET دارای انواع مختلفی هستند . نوع پارمتر ارسالی تعیین کننده این است که مقدار آن پارامتر از کجا آمده است . در ادامه به معرفی و توضیح پارامترهای اصلی و پر کاربرد که در برنامه های ASP.NET از آنها استفاده می شود ، می پردازیم :
۱ ) پارامتر ControlParameter :
این پارامتر برای دریافت مقدار یک کنترل موجود بر روی یک صفحه ASP.NET استفاده می شود . برای مثال به مقدار متنی یک کنترل کادر متن TextBox که در خاصیت Text آن نگهداری می شود و یا مقدار انتخاب شده در یک کنترل کادر انتخابی DropDownList که توسط خاصیت SelectedValue برگردانده می شود ، اشاره کرد . در این نوع پارامتر کنترل تامین کننده مقدار را با خاصیت ControlID تعیین می شود . همچنین نام خاصیتی در کنترل که مقدار پارامتر را تعیین می کند را با استفاده از خاصیت PropertyName مشخص می گردد . همچنین چنانچه کنترل مورد نظر روی صفحه وجود نداشته باشد و یا خاصیت تعیین شده آن برای پارامتر مقدار دهی نشده باشد ، می توان برای آن توسط خاصیت DefaultValue یک مقدار پیش فرض تعیین کرد ، که در موارد ذکر شده پارامتر با آن مقدار دهی می شود .
مثال ۱ : در زیر یک پارامتر را تعیین کرده ایم ، که مقدار مته درون یک کنترل کادر متن با ID ( TxtInsert ) را دریافت می کند . همچنین مقدار NoValue را به عنوان مقدار پیش فرض برای آن تعیین کرده ایم ::
< asp:ControlParameter ControlID = “TxtInsert” PropertyName=”Text” DefaultValue =”NoValue” /> |
برای مشاهده نحوه استفاده از یک پارامتر به صورت عملی و همراه با یک کنترل داده به بخش بعدی استفاده از پارامترها با کنترل های داده – ۲ بروید .
۲ ) پارامتر CookieParameter :
این پارامتر مقدار یک کوکی موجود بر روی صفحه را دریافت می کند . نام کوکی با استفاده از خاصیت HttpCookie تعیین شده و چنانچه کوکی مورد نظر بر روی صفحه وجود نداشته باشد و یا قبلا مقدار دهی نشده باشد ، می توان برای آن توسط خاصیت DefaultValue یک مقدار پیش فرض تعیین کرد ، که در موارد ذکر شده پارامتر با آن مقدار دهی می شود .
نکته : در پارامترهای کوکی ، فقط کوکی های تک مقداری پذیرفته می شود .
مثال ۲ : در مثال زیر یک پارامتر کوکی ایجاد کرده ایم که مقدار یک کوکی با نام UserID را دریافت کرده و مقدار پیش فرض Admin نیز برای آن تعیین شده است :
< asp:CookieParameter CookieName=”UserID” DefaultValue=”Admin” /> |
۳ ) پارامتر FormParameter :
این پارامتر مقدار یک فیلد را در یک فرم HTML دریافت می کند . نام فیلد مورد نظر را در پارامتر توسط خاصیت FormField تعیین می کنیم چنانچه فیلد مورد نظر روی صفحه وجود نداشته باشد و یا قبلا مقدار دهی نشده باشد ، می توان برای آن توسط خاصیت DefaultValue یک مقدار پیش فرض تعیین کرد ، که در موارد ذکر شده پارامتر با آن مقدار دهی می شود .
مثال ۳ : در مثال زیر یک پارامتر فیلد فرم ایجاد کرده ایم که مقدار یک فیلد فرم HTML با نام NumField را دریافت کرده و مقدار پیش فرض Null نیز برای آن تعیین شده است :
< asp:FieldParameter FormField=”NumField” DefaultValue=”Null” /> |
تعیین نوع داده ای پارامتر :
مسئله دیگر در مورد پارمتر ، نوع داده ای آن است . به طور پیش فرض ، پارامترها از نوع شی ( Object ) هستند ، ولی زمانی ممکن است که کاربر نوع داده ای خاص دیگری را مثل Int32 یا DateTime و … را مد نظر داشته باشد . در این صورت می توانیم نوع داده ای پارامتر را به طور صریح توسط خاصیت Type تعیین کنیم .
مثال ۴ :مثال شماره ۱ را که در مورد پارامتر ControlParametere مجددا مورد استفاده قرار داده ایم ، ولی در این بار نوع داده ای آن را نیز به نوع Int32 تعیین کرده ایم :
< asp:ControlParameter ControlID = “TxtInsert” PropertyName=”Text” DefaultValue =”NoValue” Type = Int32 / |