View Full Version : باز کردن لینک در صفحه جدید توسط کد نویسی ASP.NET
razeghaik1
دوشنبه 11 فروردین 1393, 10:05 صبح
با عرض سلام و خسته نباشید
دوستان برای باز کردن یک صفحه جدید مثل b.aspx از طریق صفحه جاری a.aspx می بایست از طریق کد زیر اقدام نمود:( باز شدن صفحه در تب جدید مرورگر)
Page.ClientScript.RegisterStartupScript( this.GetType(),"OpenWindow","window.open('YourURL','_newtab');",true);
مشکلی که هست اینه که تو این حالت ما نمیتونم مقادیر texbox ها را انتقال بدیم به صفحه جدید که در تب دیگری از مرورگر باز شده می شود.مثلا نمی توان ID را از صفحه a.aspx به صفحه b.aspx انتقال داد.
دوستان برای این موضوع می تونن نظری بدن که چه راهی وجود داره؟
با تشکر از دوستان که همیشه کمک کردن و الحق کار منو خیلی جلو بردن.با تشکر
ali.n93
دوشنبه 11 فروردین 1393, 12:00 عصر
اول از همه روش باز کردن یه صفحه جدید خیلی راحتتر از اینه. میتونی از تگ a استفاده کنی و ویژگی target رو برابر _blank قرار بدی:
<a href=".............." target="_blank">کلیک کنید</a>
اما برای انتقال مقادیر معمولا از session یا querystring استفاده میشه. کافیه توی همین سایت یا گوگل سرچ کنی. روش استفاده رو پیدا میکنی
razeghaik1
دوشنبه 11 فروردین 1393, 15:35 عصر
اول از همه روش باز کردن یه صفحه جدید خیلی راحتتر از اینه. میتونی از تگ a استفاده کنی و ویژگی target رو برابر _blank قرار بدی:
<a href=".............." target="_blank">کلیک کنید</a>
اما برای انتقال مقادیر معمولا از session یا querystring استفاده میشه. کافیه توی همین سایت یا گوگل سرچ کنی. روش استفاده رو پیدا میکنی
دوست عزیز مشکل اینه که اینجوری نمی شه وقتی به صفحه ای که میریم به صورت کوئری استرینگ یک مقدار رو هم به همراش انتقال بدیم!!!
ali.n93
دوشنبه 11 فروردین 1393, 19:23 عصر
مشکلی نداره که. شما ادامه آدرس صفحه مقادیر کوئری استرینگ رو هم ارسال کن. توی پیج لود هم مقادیر رو دریافت و بررسی کن.
<a href="b.aspx?id=123" target="_blank">کلیک کنید</a>
razeghaik1
سه شنبه 12 فروردین 1393, 08:34 صبح
مشکلی نداره که. شما ادامه آدرس صفحه مقادیر کوئری استرینگ رو هم ارسال کن. توی پیج لود هم مقادیر رو دریافت و بررسی کن.
<a href="b.aspx?id=123" target="_blank">کلیک کنید</a>
اینجوری که شما می فرمایید الان چطوری باید مقدار txtid.text که یک تکست باس می باشد و هر بار نیز مقدار آن متفاوت است را ارسال کرد به صفحه جدید و در پنجره جدید؟!
دوستان دیگر هم اگه کمک کنند ممنون می شم ...
ali.n93
سه شنبه 12 فروردین 1393, 09:51 صبح
درسته. الان متوجه مشکل شدم. اگر قصد دارید بعد از کلیک کردن رو دکمه صفحه ای جدید باز بشه میتونید این روش رو استفاده کنید.
در ویژگی های textbox باید ClientIDMode=Static باشه.
یک button معمولی یعنی html نه asp قرار بدید. توی رویداد onclick تابع جاوا اسکریپت مانند f1 رو فراخوانی کنید.
<input id="Button1" type="button" value="button" onclick="f1();" />
f1 رو به این شکل بنویسید.
function f1() {
window.open("b.aspx?id=" + document.getElementById("txtid").value, "_blank");
}
aminireza65
سه شنبه 12 فروردین 1393, 10:08 صبح
با کوئری استرینگ مقادیر رو بفرست بعد در رویداد لود صفحه مقصد تعریف کن که اگر page.ispostback برابر false بود مقادیر کوئری استرینگ رو بگیره و بریزه تو تکست باکسها.
البته اگه نمیخوای که اون اطلاعات در آدرس بار نمایش داده بشه میتونی از session یا متغیر های static استفاده کنی.
razeghaik1
سه شنبه 12 فروردین 1393, 10:39 صبح
درسته. الان متوجه مشکل شدم. اگر قصد دارید بعد از کلیک کردن رو دکمه صفحه ای جدید باز بشه میتونید این روش رو استفاده کنید.
در ویژگی های textbox باید ClientIDMode=Static باشه.
یک button معمولی یعنی html نه asp قرار بدید. توی رویداد onclick تابع جاوا اسکریپت مانند f1 رو فراخوانی کنید.
<input id="Button1" type="button" value="button" onclick="f1();" />
f1 رو به این شکل بنویسید.
function f1() {
window.open("b.aspx?id=" + document.getElementById("txtid").value, "_blank");
}
خیلی ممنون از کمکتون.
فقط ی سوال:
txtid باید از نوع html باشه یا asp.net؟
ali.n93
سه شنبه 12 فروردین 1393, 10:55 صبح
خیلی ممنون از کمکتون.
فقط ی سوال:
txtid باید از نوع html باشه یا asp.net؟
خواهش میکنم. بستگی به نیاز خودتون داره. اگه سمت سرور میخواید ازش استفاده کنید باید asp باشه.
فقط دقت کنید که اگر asp استفاده کردید حتما ClientIDMode=Static باشه
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.