PDA

View Full Version : سوال: باز شدن صفحه ی جدید در رویداد Button



RoostaYeBekr
سه شنبه 26 آبان 1388, 07:56 صبح
با سلام

یک کاری توی javascript هست که من نمی دونم که چطوری باید اون رو توی codebehinde مربوط به asp.net پیاده سازی کنم :



<a onclick="window.open('www.google.com')" >Google</a>

که با این کار صفحه ی جدیدی باز می شود .

حالا من نمی خواهم این کار رو با مثلا با HyperLink انجام بدهم . بلکه می خواهم هر جور شده ، باز شدن صفحه ی جدید در رویداد OnClick مربوط به Button ، دستورش داده شود . مثلا Response.Redirect که در رویداد OnClick مربوط به Button ، می شه نوشتش .

مرسی .

Mostafa_Dindar
سه شنبه 26 آبان 1388, 08:14 صبح
مثلا Response.Redirect که در رویداد OnClick مربوط به Button ، می شه نوشتش .

خودت كه جواب خودت رو دادي!!

RoostaYeBekr
سه شنبه 26 آبان 1388, 09:49 صبح
خودت كه جواب خودت رو دادي!!
جان هر که می پرستید ، سوال رو درست بخوانید :



که من نمی دونم که چطوری باید اون رو توی codebehinde مربوط به ASP.NET پیاده سازی کنم

این یعنی می خواهم برای انجام این کار ، از اسکریپت نویسی استفاده نکنم .


<a onclick="window.open('www.google.com')" >Google</a>

این یعنی می خواهم که با کلیک روی اون کامپوننت ، صفحه ی جدیدی ، روی صفحه ی فعلی باز شود .


حالا من نمی خواهم این کار رو با مثلا با HyperLink انجام بدهم . بلکه می خواهم هر جور شده ، باز شدن صفحه ی جدید در رویداد OnClick مربوط به Button ، دستورش داده شود .

این یعنی به طور مثال نمی خواهم از ویژگی blank و self و غیره مربوط به HyperLink استفاده کنم و می خواهم که در رویداد Onclick مربوط به Button ، یعنی در سمت CodeBehind ، کدش نوشته شود .
اینکه گفتم :


مثلا Response.Redirect که در رویداد OnClick مربوط به Button ، می شه نوشتش .

جواب مسئله نیست . این یعنی مثل Response.Redirect که کدش در سمت CodeBehind نوشته شده ، کد باز شدن صفحه ی جدید هم در قسمت CodeBehind ، یعنی در قسمت رویداد Onclick مربوط به Button نوشته شود .

Mostafa_Dindar
سه شنبه 26 آبان 1388, 11:40 صبح
اینکه گفتم :

جواب مسئله نیست . این یعنی مثل Response.Redirect که کدش در سمت CodeBehind نوشته شده ، کد باز شدن صفحه ی جدید هم در قسمت CodeBehind ، یعنی در قسمت رویداد Onclick مربوط به Button نوشته شود .
حقيقتا من كه متوجه نشدم چي فرمودين .
خوب از متد Redirect شي Response استفاده كن ديگه


protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect("~/Default.aspx");
}
اين چه مشكلي داره ؟ هم روي همين Page لود ميشه و هم داخل Code Behind هستش!

RoostaYeBekr
چهارشنبه 27 آبان 1388, 08:31 صبح
حقيقتا من كه متوجه نشدم چي فرمودين .
خوب از متد Redirect شي Response استفاده كن ديگه


protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect("~/Default.aspx");
}
اين چه مشكلي داره ؟ هم روي همين Page لود ميشه و هم داخل Code Behind هستش!

سلام

فرق


window.open('www.google.com')

با


Response.Redirect

از موضع کاربرد این هست که اولی ، یک پنجره ی جدید ، روی پنجره ی جاری باز می کند و چون پنجره ی جدید است ، پس فاقد دکمه ی Back هست .
ولی دومی ، پنجره ی جدیدی باز نمی کند . بلکه صفحه ی جدید ، روی صفحه ی قبلی می آید . پس دکمه ی Back در صفحه ی جدید فعال هست .

A.S.Roma
چهارشنبه 27 آبان 1388, 09:36 صبح
یا باید اینجوری بنویسی :
»» خودت زحمت Scape کاراکتراشو بکش !
Response.Write("<script type="text/javascript">
window.open('www.google.com');
</script>");
یا یکسر بزن به اینجا که اصولی تره :
http://weblogs.ASP.NET/infinitiesloop/archive/2007/09/25/response-redirect-into-a-new-window-with-extension-methods.aspx

Mostafa_Dindar
چهارشنبه 27 آبان 1388, 09:57 صبح
سلام

فرق


window.open('www.google.com')
با


Response.Redirect
از موضع کاربرد این هست که اولی ، یک پنجره ی جدید ، روی پنجره ی جاری باز می کند و چون پنجره ی جدید است ، پس فاقد دکمه ی Back هست .
ولی دومی ، پنجره ی جدیدی باز نمی کند . بلکه صفحه ی جدید ، روی صفحه ی قبلی می آید . پس دکمه ی Back در صفحه ی جدید فعال هست .

مرسي . متوجه شدم . خوب اين رو تو پست :
http://barnamenevis.org/forum/showthread.php?t=190638
كاملا توضيح داده . ضمن اينكه دوست ديگرمون (پست قبل من همينجا) آدرسشو منبع اون رو كذاشته :
http://weblogs.asp.net/infiniti..... (http://weblogs.asp.net/infinitiesloop/archive/2007/09/25/response-redirect-into-a-new-window-with-extension-methods.aspx)