آموزش برنامه نویسی ، پایگاه داده sql server
آموزشگاه برنامه نویسی تحلیل داده : دوره های آموزشی برنامه نویسی و طراحی وب ASP.Net , C# , HTML , CSS , SQL Server


آموزشگاه برنامه نویسی مجتمع فنی تهران میرداماد : دوره های آموزشی برنامه نویسی و طراحی وب ASP.Net , C# , HTML , CSS , SQL Server

آموزش ASP.Net به زبان ساده     >     آموزش مدل صفحات وب WP  
درس نهم : کار با اشیاء ( Objects ) در ASP.Net Web Pages

مقدمه :

در صفحات ASP.Net ، به صورت معمول از اشیا ( Objects ) استفاده می کنیم . اشیا دارای خواص و متدهایی هستند که می توانند اطلاعات مورد نظر ما را نگهداری کرده و برخی عملیات ها را انجام دهند . در این درس به صورت اختصاصی به بررسی شی Page ، به عنوان مهمترین شی در یک صفحه ASP.Net خواهیم پرداخت .

آشنایی با شی صفحه ( Page Object ) در ASP.Net :

در مراحل و درس های قبل با برخی از خواص و متدهای شی Page کار کردیم . در این بخش با تکرار برخی از این متدها و خواص ، به یادآوری آنها می پردازیم .
به قطعه کد زیر دقت نمایید . این کد باعث اجرا و قرار گرفتن محتویات یک صفحه درون یک صفحه دیگر ASP.Net می شود . کد زیر صفحه " header.cshtml " را خوانده و در محل قرار گیری متد در صفحه نمایش می دهد :

کد @RenderPage( " header.cshtml " )
@RenderBody( )

در قطعه کد بعدی به بررسی یکی از مهمترین و پر کاربردترین خواص شی Page می پردازیم . همانطور که می دانید یک صفحه ASP.Net ، صفحه ای است که سمت سرور اجرا می شود و به طور کلی دارای دو وضعیت است :

  • برای اولین بار است که اجرا می شود . در این حالت می گوییم صفحه Post نشده است .
  • صفحه به دلیل کلیک کاربر بر روی یک دکمه فرمان یا اجرای یک متد به سرور ارسال ( Post ) شده و باز گشته است . در این حالت می گوییم ، صفحه Post شده است .

در حالت اول مقدار خاصیت isPost صفحه False و در حالت دوم True است . از این خاصیت می توان برای تعیین نحوه و زمان اجرای برخی کدها استفاده کرد . برای مثال می خواهیم یک کد زمانی اجرا شود که صفحه از سرور برگشته ( به عبارت دیگر Post شده و اولین بار نیست که اجرا می شود ) . برای مثال پس از تکمیل یک فرم در صفحه توسط کاربر و بارگذاری مجدد صفحه برای نمایش نتایج . همانند قطعه کد زیر :

مثال :  در مثال زیر ، کدهای آبی رنگ فقط در صورتی اجرا می شوند که مقدار خاصیت isPost بر روی True بوده و در واقع صفحه از سرور بازگشته باشد :

کد If (isPost) {
      if (Request["Choice"] != null )
                   {
                         یکسری دستورات مورد نظر
                   }

برخی دیگر از متدهای مهم شی Page :

در لیست زیر برخی دیگر از خواص مهم و پر کاربرد شی Page به همراه توضیحات آن معرفی شده اند :

مجموعه خواص border
نام متد کاربرد
href این متد یک آدرس اینترنتی ( URL ) را بر حسب پارامترهای داده شده ساخته ، که می توان از آن استفاده نمود .
( )RenderBody این متد محتویات صفحه ای که درون پرانتز مقابل آن تعیین می کنیم را در محل مورد نظر در صفحه وارد می کند .
( )RenderBody این متد محتویات صفحه ای که درون پرانتز مقابل آن تعیین می کنیم را در محل مورد نظر در صفحه وارد می کند .
( )RenderPage این متد محتویات یک صفحه تعیین شده را در صفحه مقصد و در محل مورد نظر وارد می کند ( معمولا در صفحات قالب استفاده می شود ) .
( )RenderSection این متد محتویات یک بخش یا Section تعیین شده را در صفحه مقصد و در محل مورد نظر وارد می کند ( معمولا در صفحات قالب استفاده می شود ) .

برخی از خواص مهم شی Page :

در لیست زیر به معرفی برخی از خواص مهم و پرکاربرد شی Page به همراه توضیحات مربوطه پرداخته ایم :

مجموعه خواص border
نام متد کاربرد
isPost این خاصیت تعیین می کند که آیا صفحه برای اولین بار است که اجرا و لود شده و یا اینکه پس از ارسال به سرور برگشته است ( در این حالت مقدار آن True می باشد ) .
Layout این خاصیت یک صفحه یا فایل را به عنوان قالب سایت تعیین می کند .
Page از این خاصیت برای دسترسی به برخی از خواص داخلی صفحه مثل عنوان و ... استفاده می شود .
Request این خاصیت مقادیر ارسالی یا دریافتی از درخواست های HttpRequest ( مقادیر ارسالی از سوی فرم های وب ) را دریافت می کند .

بررسی دقیقتر خاصیت Page شی Page :

خاصیت Page شی Page ، امکان دسترسی به برخی از خواص داخلی صفحه مثل عنوان ، ورژن و ... را می دهد . همچنین می توانید خواص مورد نظر خود را توسط این شی ساخته و سپس در سطح کد صفحه استفاده نمایید . برای مثال ما خواص زیر را برای صفحه خود تعریف کرده ایم :

  • Pag.Title : عنوان صفحه .
  • Page.Version : ورژن صفحه .
  • هر خاصیت دیگر.Page : هرگونه با هر نام دلخواه و ... .

خاصیت Page شی Page بسیار می تواند کاربردی و مفید باشد . برای مثال می توانید توسط یک خاصیت دلخواه عنوان صفحه را در فایل محتوا ( Content ) تعیین نموده و از همان خاصیت در صفحه قالب ( Layout ) استفاده نمایید . همانند قطعه کد زیر :

مثال :  در مثال زیر در ابتدای صفحه محتوا ، صفحه Layout.cshtml به عنوان صفحه قالب صفحه محتوا تعیین شده و سپس توسط خاصیت Title عنوان صفحه نیز مشخص شده است .
سپس همان عنوان یا title را در فایل قالب نیز به کار برده ایم . توجه داشته باشید ، خروجی این دو صفحه یک صفحه است که از ترکیب صفحه محتوا و صفحه قالب به وجود می آید . محتویات صفحه محتوا در قسمتی که کد ( )RenderBody وجود دارد ، قرار گرفته و با صفحه قالب یکی می شود .

کد صفحه محتوا
Home.cshtml
@{
    Layout="~/Shared/Layout.cshtml";
    Page.Title="Home Page"
   }


<h1>Welcome to Developer1</h1>
<h2>محتویات صفحه</h2>
<p>A Home Page (Default.cshtml)</p>
<p>A Layout File (Layout.cshtml)</p>
<p>A Style Sheet (Site.css)</p>
کد صفحه قالب
Layout.cshtml
<!DOCTYPE html>
<html>
  <head>
     <title>@Page.Title</title>
  </head>
  <body>
      @RenderBody( )
  </body>
</html>


راجع این مطلب سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...         >>>>>  ورود به انجمن تخصصی


نطر خودتان درباره این صفحه را با ما در میان گذاشته و در صورت تمایل از Developer1 حمایت نمایید :

آیا مطالب این صفحه برای شما مناسب و مفید بوده است :

نام :                 
آدرس Email :    
 
نظر شما :  
 
سوال امنیتی : پایتخت ایران ؟      
حمایت از سایت Developer1