فردا روشن اسن به
آموزشASP.NET
صفحه نخست         تماس با مدیر         پست الکترونیک        RSS         ATOM
 
 
سه شنبه 24 اسفند 1389 :: نویسنده : ارش کاکاوند

یكی از مهمترین محدودیت های 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  ادامه داده و با نحوه دریافت اطلاعات بیشتر از صفحه مبداء آشنا خواهیم شد . 





نوع مطلب :
برچسب ها :
لینک های مرتبط :




درباره وبلاگ

سلام من آرش کاکاوند دانشجوی رشته کامپیوتر هستم و ورود شما رابه دنیای aspخوش امدمیگم.حتما نظر بدین تا من کارم رو بهتر ادامه بدم

مدیر وبلاگ : ارش کاکاوند
مطالب اخیر
نویسندگان
صفحات جانبی
نظرسنجی
شما کدام یک از برنامه های زیر را برای طراحی وب انتخاب می کنید؟








جستجو

آمار وبلاگ
کل بازدید :
بازدید امروز :
بازدید دیروز :
بازدید این ماه :
بازدید ماه قبل :
تعداد نویسندگان :
تعداد کل پست ها :
آخرین بازدید :
آخرین بروز رسانی :

                    
 
 
 
شبکه اجتماعی فارسی کلوب | Buy Website Traffic | Buy Targeted Website Traffic