توضیحات و دانلود

باز کردن نتیجه Response.Redirect یا Server.Transfer در پنجره جدید با ASP.Net
0 0
باز کردن نتیجه Response.Redirect یا Server.Transfer در پنجره جدید با ASP.Net

باسلام  یک سوال در مورد نحوه استفاده از Respose.Redirect یا Server.Transfer برای باز کردن یک پنجره جدید در ASP.Net وجود داشت. واقعیت این است که به طور مستقیم هر دو این روش صفحه شما را در پنجره جدید باز نمی کند، از این رو شما باید از ترفندهای زیر برای دستیابی به آن استفاده کنید.

1. تنظیم ویژگی هدف FORM

تگ فرم HTML دارای ویژگی هدف است که می تواند برای باز کردن یک پنجره جدید هنگام ارسال فرم به سرور استفاده شود. برای اطلاعات بیشتر اینجا را مطالعه کنید

HtmlForm.Target Property
بنابراین با استفاده از جاوا اسکریپت می توانیم هر بار که  می خواهیم صفحه را در یک پنجره جدید باز کنیم ومی توانیم ویژگی هدف فرم را به _blank تنظیم کنیم. به کد زیر مراجعه کنید .

<asp:Button ID="Button1" runat="server" Text="Button"

    onclick="Button1_Click" OnClientClick = "SetTarget();" />

 از عملکرد OnScreenClick روی عملکرد جاوا اسکریپت SetTarget استفاده می کنیم رویداد کنترل دکمه ASP.Net که در زیر شرح داده شده است

<script type = "text/javascript">

 function SetTarget() {

     document.forms[0].target = "_blank";

 }

</script>

همانطور که در بالا می بینید می توانیم مشخصه هدف HTML فرم را به _blank تنظیم کنیم

در مرحله دوم، متد Button1_Click را بر روی رویداد کنترل Onclick فراخوانی می کنیم، همانطور که در زیر شرح داده شده است :

C #

protected void Button1_Click(object sender, EventArgs e)

{

    Response.Redirect("page2.aspx"); 

}

VB.Net

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

        Response.Redirect("Page2.aspx")

End Sub

زمانی که روی دکمه کلیک میکنید، تابع جاوا اسکریپت ویژگی مشخصی از فرم را به _blank تنظیم می کند. بنابراین هنگامی که PostBack اتفاق می افتد، ابتدا صفحه فعلی را در پنجره جدید باز می کند و سپس روش Response.Redirect را اجرا می کند و به ما کمک می کند تا به هدفمان برسیم.

در همان روش ما می توانیم از Server.Transfer در رویداد Button Click استفاده کنیم

C #

protected void Button1_Click(object sender, EventArgs e)

{

    Server.Transfer("page2.aspx"); 

}

VB.Net

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

        Server.Transfer("Page2.aspx")

End Sub

تنها تفاوت این است که هر دوپنجره  همان URL را نمایش می دهند هر چند صفحات مختلف را نمایش می دهند

اما همانطور که در W3C است، هدف این روش یک ویژگی معتبر در XHTML 1.1 نیست، هرچند که با تمام مرورگرهای اصلی کار می کند.

از این رو راه دیگری برای تغییر مسیر به یک پنجره جدید استفاده از JavaScript window.open است .

2. با جاوا اسکریپت  window.open

با استفاده از ClientScript می توانیم یک پنجره جدید از طرف سرور را به روش زیر باز کنیم

C #

protected void Button2_Click(object sender, EventArgs e)

{

    string url = "page2.aspx";

    StringBuilder sb = new StringBuilder();

    sb.Append("<script type = 'text/javascript'>");

    sb.Append("window.open('");

    sb.Append(url);

    sb.Append("');");

    sb.Append("</script>");

    ClientScript.RegisterStartupScript(this.GetType(),

            "script", sb.ToString());

}

VB.Net

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

    Dim url As String = "page2.aspx"

    Dim sb As New StringBuilder()

    sb.Append("<script type = 'text/javascript'>")

    sb.Append("window.open('")

    sb.Append(url)

    sb.Append("');")

    sb.Append("</script>")

    ClientScript.RegisterStartupScript(Me.GetType(), _

              "script", sb.ToString())

End Sub

 بنابراین می توانید یک پنجره جدید با استفاده از جاوا اسکریپت از طرف سرور باز کنید. در نهایت اگر شما هر دو تکنیک را مقایسه کنید، همین کار را انجام می دهید .


دانلود
  • لینک های دانلود دوره های آموزشی تا پایان دوره قابل دانلود می باشد.
  • برای خارج کردن فایل ها از حالت فشرده از ورژن جدید نرم افزار winrar استفاده کنید.
  • برای خارج کردن فایل ها از حالت فشرده لینک های دانلودی که چندین قسمت می باشند فقط قسمت اول را از حالت فشرده خارج کنید.
  • لطفا توضیحات نوشته شده برای مطالب را با دقت بخوانید.
  • برای نمایش فیلم ها می توانید از نرم افزار هایی مانند Km Player , VLC Player یا Media Player Classic استفاده کنید.

لینک های دانلود

  • این آموزش فایلی برای دانلود ندارد

ارسال نظر
ارسال پیام به :