جستجو در محصولات

گالری پروژه های افتر افکت
گالری پروژه های PSD
جستجو در محصولات


تبلیغ بانک ها در صفحات
ربات ساز تلگرام در صفحات
ایمن نیوز در صفحات
.. سیستم ارسال پیامک ..
State Management در ASP. NET 2.0 (بخش چهارم)
-(4 Body) 
State Management در ASP. NET 2.0 (بخش چهارم)
Visitor 894
Category: کامپيوتر

State Management در ASP. NET 2.0 (بخش چهارم)
آنچه تاكنون گفته شده است :

 بخش اول

 مفاهيم اوليه

:

 ضرورت مديريت state در برنامه هاي وب

 بخش دوم    view state    :  نحوه ايمن سازي اطلاعات ذخيره شده در view state
بخش سوم   view state : نحوه نگهداري Member Variables و اشياء سفارشي

يكي از مهمترين محدوديت هاي view state ، شعاع استفاده از اطلاعات ذخيره شده در آن توسط ساير صفحات وب است . اطلاعات ذخيره شده در view state صرفا" توسط صفحه اي كه آنها را ايجاد كرده است قابل استفاده مي باشند و ساير صفحات نمي توانند از اطلاعات فوق استفاده نمايند . به عنوان مثال ، در صورتي كه كاربر به صفحه اي ديگر حركت و يا هدايت شود ، اطلاعات ذخيره شده در view state قابل دستيابي نبوده و عملا" از بين خواهند رفت . براي غلبه بر محدوديت فوق ( انتقال اطلاعات از يك صفحه به صفحه ديگر )،  از روش هاي متعدد ديگري مي توان استفاده كرد . 
در اين بخش ، با روش انتقال اطلاعات از يك صفحه به صفحه اي ديگر  با استفاده از  cross-page posting  آشنا خواهيم شد .

cross-page posting
يكي از امكانات جديد ارائه شده در ASP. NET 2.0 ، امكان postback يك صفحه به صفحه اي ديگر است ( برخلاف گزينه پيش فرض كه هر صفحه به خود postback مي گردد ) .
بدين منظور خصلت جديد PostBackUrl در كنترل هائي نظير ImageButton ، LinkButton و Button پيش بيني شده است  . براي استفاده از ويژگي فوق كافي است مقدار  PostBackUrl برابر با  آدرس صفحه مقصد در نظر گرفته شود . بدين ترتيب ، پس از كليك بر روي دكمه موجود بر روي فرم ،  صفحه به همراه تمامي مقادير كنترل هاي ورودي موجود بر روي آن براي آدرس مشخص شده ارسال مي گردد .

مثال
در اين مثال بر روي فرم وب از دو  كنترل text box و يك كنترل button استفاده شده است ( صفحه  Crosspage1.aspx ) . پس از كليك بر روي‌ دكمه موجود بر روي فرم ، اطلاعات موجود بر روي فرم براي صفحه اي با نام Crosspage2.aspx ارسال مي گردد . 

صفحه  Crosspage1.aspx

<%@ Page Language="VB" Culture="fa-IR" UICulture="fa-IR" %>

<script runat="server">
</
script
>

<html xmlns="http://www.w3.org/1999/xhtml" dir="rtl" >
<
head id="Head1" runat="server">
   <
title>صفحه اول </title>
</
head>
<
body style="font-family: Tahoma">
  <
form id="form1" runat="server" >
     <
div>
        
نام     <asp:TextBox ID="txtFirstName" runat="server"></asp:TextBox><br /><br />
       
نام خانوادگي &nbsp;<asp:TextBox ID="txtLastName" runat="server"></asp:TextBox>&nbsp;<br />
         <
br />
         <
asp:Button runat="server" ID="cmdPost"
                  PostBackUrl="CrossPage2.aspx"
                  Text
="ارسال به صفحه ديگر" Font-Names="Tahoma" /><br />
     </
div>
</
form>
</
body>
</
html
>

صفحه Crosspage1.aspx شامل هيچگونه كدي نمي باشد .
پس از اجراي كد فوق و كليك بر روي دكمه "ارسال به صفحه ديگر" ، صفحه براي  CrossPage2.aspx ارسال مي گردد . صفحه Crosspage2.aspx با استفاده از خصلت Page.PreviousPage قادر به برقراري ارتباط با صفحه Crosspage1.aspx خواهد بود .
كد زير نحوه دريافت و نمايش عنوان صفحه قبلي را در صفحه Crosspage2.aspx  نشان مي دهد .

صفحه  Crosspage2.aspx

<%@ Page Language="VB"  Culture="fa-IR" UICulture="fa-IR" %>

<script runat="server">
  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
    If PreviousPage IsNot Nothing
Then
 
     lblInfo.Text = "شما از صفحه اي با عنوان " & _
       "<b>" & PreviousPage.Header.Title & "</b>" & _
       " به اين صفحه آمده ايد" &
"<br />"
    End If
 
End Sub
</
script>

<html xmlns="http://www.w3.org/1999/xhtml" dir="rtl" >
<
head id="Head1" runat="server">
  <title>صفحه دوم</title>
 </
head>
<
body style="font-family: Tahoma">
  
<form id="form1" runat="server" >
     
<div>
         
<asp:Label ID="lblInfo" runat="server" Font-Size="Small"></asp:Label>
     </
div
>
</form>
</
body>
</
html>

شكل 1 ،  نحوه انتقال اطلاعات از يك صفحه به صفحه ديگر  را نشان مي دهد .

 نحوه انتقال اطلاعات از يك صفحه به صفحه ديگر
شكل 1 : نحوه انتقال اطلاعات از يك صفحه به صفحه ديگر 

در صفحه Crosspage2.aspx قبل از تلاش براي دستيابي به شي PreviousPage ، مقدار آن با null بررسي مي گردد  . در صورتي كه مقدار آن معادل null باشد ، cross-page postback  محقق نشده است . اين بدان معني است كه صفحه Crosspage2.aspx مستقيما" درخواست شده است و يا به خود postback شده است . در چنين مواردي شي PreviousPage قابل دسترس نخواهد بود .
در بخش پنجم بحث خود را بر روي cross-page posting  ادامه داده و با نحوه دريافت اطلاعات بيشتر از صفحه مبداء آشنا خواهيم شد . 

برگرفته از سايت سخا روش

Add Comments
Name:
Email:
User Comments:
SecurityCode: Captcha ImageChange Image