نمایش نتایج 1 تا 9 از 9

نام تاپیک: ارسال به صورت Cross Page

  1. #1

    ارسال به صورت Cross Page

    سلام ,

    به طور پیش فرض یک Page به خودش Submit میشه .با استفاده از Cross Page Posting میتونیم این رفتار پیش فرض رو عوض کنیم و صفحه مقصد رو مشخص کنیم .

    در این حالت ASP.NET 2.0 این امکان رو در اختیار ما قرار میده که در صفحه مقصد به Value کنترلهای صفحه ابتدایی دسترسی داشته باشیم .

    فرض کنید که یک فرم چند صفحه ای دارید و میخواهید اطلاعاتی رو از کاربر در چندین صفحه جمع آوری کنید . با Cross Page Posting این کار به سادگی امکان پذیر است .

    با هم یک مثال رو دنبال میکنیم


    • دو صفحه بنام های Page1.aspx و Page2.aspx به پروژه خودتون اضافه کنید .
    • در Page1.aspx یک کنترل TextBox و یک Button اضافه کنید .
    • خاصیت PastBackUrl از Button رو Page مقصد ست کنید .

    یعنی در Page اول باید همچین چیزی داشته باشید :
    <body>
    <form id="form1" runat="server">
    <div>
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <asp:Button ID="Button1" runat="server" Text="Button" PostBackUrl="~/Page2.aspx" />
    </div>
    </form>
    </body>


    در Pagee2.aspx یک کنترل مثل Lable در فرم قرار دهید
    در رویداد Load صفحه به شکل زیر میتونید به مقدار TextBox از صفحه page1.aspx دسترسی داشته باشید :

        protected void Page_Load(object sender, EventArgs e)
    {
    if(Page.PreviousPage!= null)
    {
    TextBox txt1 = (TextBox) PreviousPage.FindControl("TextBox1");
    Label1.Text = txt1.Text;
    }
    }


    همانطور که ملاحظه میکنید اول برسی میکنیم که خاصیت PreviousPage شی Page مقدار داشته باشید . بعد که اطمینان حاصل کردم با استفاده از متد FindControl شی PreviousPage میتونیم کنترل مورد نظر رو پیدا کنیم و بعد اون رو Cast میکنیم . حال میتونیم از Property های اون کنترل مورد نظر استفاده کنیم .

    سربلند باشید

  2. #2

    نقل قول: ارسال به صورت Cross Page

    خیلی ممنون از آموزشتون
    حالا اگر نیاز باشه چنین کاری رو انجام بدیم با این تفاوت که توی Code Behind یوزر رو بفرستیم یه پیج دیگه راه کار چیه !؟
    response.redirect که درست کار نمی کند ( چون ظاهرا" اصلا" برای این منظور تعبیه نشده )
    کاری هم به Session و Cookie و ... ندارم .

    فکر کنم با Sever.Transform جواب بده درسته !؟
    ایا راه دیگری هم وجود دارد .
    ممنون.

  3. #3

    نقل قول: ارسال به صورت Cross Page

    نقل قول نوشته شده توسط A.S.Roma مشاهده تاپیک
    خیلی ممنون از آموزشتون
    حالا اگر نیاز باشه چنین کاری رو انجام بدیم با این تفاوت که توی Code Behind یوزر رو بفرستیم یه پیج دیگه راه کار چیه !؟
    response.redirect که درست کار نمی کند ( چون ظاهرا" اصلا" برای این منظور تعبیه نشده )
    کاری هم به Session و Cookie و ... ندارم .

    فکر کنم با Sever.Transform جواب بده درسته !؟
    ایا راه دیگری هم وجود دارد .
    ممنون.
    خواهش میکنم .

    اگر منظورتون از ارسال کاربر , داده های کاربر باشه که باید از یکی از روشهای State Mangement استفاده کنیم .

    ولی تصور میکنم منظور شما هدایت کاربر به یک صفحه دیگست . هر دو متد یعنی Response.Redirect و Server.Transfer این کار رو انجام میدن .ولی Server.Transfer گزینه مناسبتری هست .

    در مورد تفاوت این دو متد این مقاله خوب گفته :

    Response.Redirect should be used when:
    • we want to redirect the request to some plain HTML pages on our server or to some other web server
    • we don't care about causing additional roundtrips to the server on each request
    • we do not need to preserve Query String and Form Variables from the original request
    • we want our users to be able to see the new redirected URL where he is redirected in his browser (and be able to bookmark it if its necessary)

    Server.Transfer should be used when:

    • we want to transfer current page request to another .aspx page on the same server
    • we want to preserve server resources and avoid the unnecessary roundtrips to the server
    • we want to preserve Query String and Form Variables (optionally)
    • we don't need to show the real URL where we redirected the request in the users Web Browser

  4. #4

    نقل قول: ارسال به صورت Cross Page

    میشه به منم بگید تو دلفی چطوری با cross کار کنم

  5. #5

    نقل قول: ارسال به صورت Cross Page

    اگه مثلا بخوایم اطلاعات یک CheckBoxList رو به صفحه دیگه انتقال دهیم چاره کار چیه؟

  6. #6

    نقل قول: ارسال به صورت Cross Page

    سلام،من از کد شما برای ارسال استفاده کردم ولی خطای زی رو میده Object reference not set to an instance of an object.

  7. #7

    نقل قول: ارسال به صورت Cross Page

    میشه یکی هم جواب ما رو بده

  8. #8
    کاربر دائمی آواتار meisam3322
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    گرگان
    سن
    39
    پست
    895

    نقل قول: ارسال به صورت Cross Page

    سلام،من از کد شما برای ارسال استفاده کردم ولی خطای زی رو میده Object reference not set to an instance of an object.
    آیا تکست باکس صفحه اول دارای مقدار هست ؟

  9. #9

    نقل قول: ارسال به صورت Cross Page

    نقل قول نوشته شده توسط meisam3322 مشاهده تاپیک
    آیا تکست باکس صفحه اول دارای مقدار هست ؟
    مقدارش رو کاربر در حال اجرا وارد میکنه دیگه

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •