PDA

View Full Version : redirect بصورت صفحه جديد



oracle_2007
جمعه 31 خرداد 1387, 01:54 صبح
سلام دوستان.
من از يك صفحه بوسيله متد redirect صفحه اي رو صدا زدم ، ولي متاسفانه صفحه جديد در همون صفحه باز ميشه . ولي من ميخوام اين صفحه در صفحه جديد ديگري با سايز مشخصي مثلا 100 * 150 باز بشه و قابل resize شدن نباشه و همچنين اسكرول بار هم نداشته باشه ..
ممنون ميشم راهنماييم كنين و يا در صورت امكان يه مثال بذارين ، چون راستش سواد وبي كمي دارم . ممنونم ..

miladr
جمعه 31 خرداد 1387, 02:38 صبح
از redirect نمیشه استفاده کنی.فکر کنم راه حلش جاوا باشه

oracle_2007
جمعه 31 خرداد 1387, 02:47 صبح
آخه از اون فرم اول بايد يه رشته رو به فرم جديد پاس بدم .(خيلي مهمه لطفا كمكم كنين)

miladr
جمعه 31 خرداد 1387, 02:55 صبح
فرض میخوای با زدن یک لینک این صفحه باز شه و اطلاعاتی در مورد user داده بشه.
شما میای هنگام load صفحه به linkbutton و رویداد onclientclick تابع جاوا اسکریپت اضافه می کنی که بره صفحه
فلان رو به آدرس فلان با سایز فلان نمایش بده.
مثال : showdetail.aspx?userid=2
وقتی شما تابع جاوا رو هنگام load بصورت دینامیک میسازی userid رو بهش اضافه می کنی.

oracle_2007
جمعه 31 خرداد 1387, 04:08 صبح
شايد من نبايد اينجوري از اين دستورات استفاده كنم . پس بزارين كل ماجرا رو بگم .
من دو تا فرم دارم كه يكيشون براي پخش صداست و در ديگري يه گريد ويو دارم . من با انتخاب يه ركورد از گريد ويو يه رشته كه مسير يه فايل صوتي هست رو ايجاد ميكنم . حالا ميخوام اون مسير فايل رو به فرم پخش صدا بفرستم و به
پارامتر وليو از آبجك مديا پلير بدم ، تا اون برام صدا رو پخش كنه .(و اينكه اون فرم پخش صدا بايد در صفحه جديد ديگري با سايز مشخصي مثلا 100 * 150 باز بشه و قابل resize شدن نباشه و همچنين اسكرول بار هم نداشته باشه ) .اين تمام اون سناريو هست .
پروژه رو نيز در زير گذاشتم . خيلي خيلي ممنون ميشم كه مشكل رو حل كنين . بي نهايت به رفع اين مشكل نياز دارم . خيلي ممنون .

oracle_2007
شنبه 01 تیر 1387, 01:48 صبح
بابا يكي بياد درد ما رو هم درمون كنه .....

miladr
شنبه 01 تیر 1387, 04:17 صبح
اول بگو بلدی با جاوااسکریپت یه پنجره باز کنی یا نه؟!!!!

vahidvb
شنبه 01 تیر 1387, 04:40 صبح
این همه کد جاوا که باید تو Onclick نوشته بشه


onclick="javascript: window.open('ParsDiment.com,'', 'location=no,toolbar=no,scrollbars=no,resizable=no ,width=800,height=600,left=112,top=75');"

miladr
شنبه 01 تیر 1387, 12:56 عصر
وحید جان دستت درد نکنه اما خودمم می تونستم این رو بزارم.ام قرار نیست که لقمه اماده کنیم برای همه.

mojniknam
شنبه 01 تیر 1387, 14:20 عصر
مثل اینکه شما منظور رو نفهمیدید
مشکل جناب oracle اینه که آدرس صفحه جدید که قرار باز بشه مشخص نیست و بر اساس کلیکی که بر روی هر رکورد میشه ، آدرس تغییر میکنه
کدی که شما نوشتین یک کد جاوای ساده هست
حالا چه جوری میشه آدرس اون رو متغیر کرد؟

miladr
شنبه 01 تیر 1387, 15:32 عصر
واسه چی گفتم باید javascript رو dynamic اضافه کنی.
http://rooznamechi.blogspot.com/2006/03/aspnet_29.html

oracle_2007
شنبه 01 تیر 1387, 19:24 عصر
دوستان من از همه شما متشكرم ...
حقيقت امر اينه كه من سواد وبي و جاوا خيلي كمي دارم ، ولي بلدم كه فرم رو بصورت ثابت با جاوا باز كنم و اون مقدار رو با كوري استرسينگ به فرم پخش بفرستم ولي در اصل مشكل من اينه كه نمي دونم اين مقداري كه در كوري استرسينگ هست رو چجوري به صورت ديناميك به متغير value از مديا پلير بدم . باز هم از همه شما تشكر ميكنم ....

miladr
شنبه 01 تیر 1387, 19:28 عصر
dim myvalue as string=page.request.item("value")

oracle_2007
شنبه 01 تیر 1387, 23:48 عصر
ببينيد ، اين خط

<PARAM NAME="FileName" VALUE="مسير فايل صوتي كه از فرم 1 مي آيد ">
از مديا پلير مربوط به رشته مسير هست ، تا اينجا درسته...
حالا من بجاي ""=VALUE بايد چه بنويسم تا بصورت ديناميك اون رشته رو بگيره ..

مثلا اگر وبي دات نت بود ، مي نوشتم : value= Request.QueryString("id") ولي نمي دونم مثلا اين متغير myvalue كه شما گفتين رو چجوري و يا بهتر بگم با چه syntax ي بايد جلوي value قرار بدم .( اميدوارم تونسته باشم منظورم رو بيان كنم )
ممنون

amirniknam
یک شنبه 02 تیر 1387, 01:04 صبح
<%=TextBox1.Text %>



اين كار خيلي ساده هستش تو رويداد onclick همون دستور open رو كه يكي از دوستان گذاشته بود بنويس بعد به جاي آدرس كه ميگي تغيير مي كنه مثلا مقدار يك textbox رو به صورتي كه نشون دادم قرار بده خود asp.net اين مقدار رو بر مي گردونه و ديگه كار تمومه

miladr
یک شنبه 02 تیر 1387, 17:49 عصر
شما دو کار می تونی بکنی یکی اینکه تو صفحه دوم با asp.net و سمت سرور بیای به media player مقدار رو بدی و بعد رندرش کنی که نمی دونم عملی هست یا نه.
راه دوم هم اینه که querystring رو با جاوااسکریپت بخونی اینجا هم می تونی شیوه کار باهاش رو یاد بگیری
http://itpencil.wordpress.com/2006/09/27/querystring-%D8%AF%D8%B1-%D8%AC%D8%A7%D9%88%D8%A7-%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA/#more-79
http://adamv.com/dev/javascript/querystring

oracle_2007
دوشنبه 03 تیر 1387, 00:22 صبح
از لطفتون ممنونم ، فكر ميكنم مشكلم داره حل ميشه ، فقط يه مورد اينكه براي صدا زدن يه فانكشن جاوا اسكريپت كه در قسمت كدهاي اچ تي ام ال نوشته شده ، از داخل كدهاي وبي دات نت چكار بايد بكنم .چون ميخوام فانكشن باز كردن فرم رو با جاوا اسكريپت از قسمت سلكت گريد ويو صدا بزنم ...
ممنونم .

miladr
دوشنبه 03 تیر 1387, 11:23 صبح
عزیز شما تو gridview یه ستون داری که توش link هست موقع bind شدن grid شما واسه هر ردیف میای به وسیله vb.net و با این تابع بهش تابع جاوا اسکریپت نسبت میدی

mylink.Attributes.Add("onclick", "javascript:yourfunction()");

oracle_2007
دوشنبه 03 تیر 1387, 16:00 عصر
عزیز شما تو gridview یه ستون داری که توش link هست موقع bind شدن grid شما واسه هر ردیف میای به وسیله vb.net و با این تابع بهش تابع جاوا اسکریپت نسبت میدی

mylink.Attributes.Add("onclick", "javascript:yourfunction()");

سلام
من دقيقا منظورتون رو متوجه نشدم ولي در نهايت من فانكشن باز كردن فرم رو بصورت زير نوشتم :


function OpenplaySondPage(item1,item2) {

open('form_PlaySound.aspx?id1='+ item1 + '&id2=' + item2 ,"","titlebar=no,toolbar=no,location=no,status=no,menub ar=no,scrollbars=no,resizable=no,width=375,height = 308");

}

كه دو پارامتر رو توي كوري استرينگ اضافه ميكنه و در فرم پخش اونها رو از كوري استرينگ ميخونم .
سپس طبق فرمايش شما در قسمت GridView1_SelectedIndexChanged نوشتم :


Me.GridView1.Attributes.Add("onclick", "javascript:OpenplaySondPage('" & id1 & "','" & id2 & "')")

ولي حالا يك مشكل جديد پيش اومده و اون اينكه من با يك كليك روي دكمه پخش گريدويو ، به فرم پخش نميرم ، و لي وقتي دو بار كليك ميكنم به فرم مربوطه ميره:ناراحت: !!!!

باز هم از توجه و حوصله زيادتون تشكر ميكنم .

miladr
دوشنبه 03 تیر 1387, 16:17 عصر
نه شما نباید Me.GridView1.Attributes رو ست کنی شما باید تو GridView1_RowDataBound بیای و به هر لینک که تو ستون داری با استفاده از playlink.Attributes رویداد click نسبت بدی و واسه هر ردیف
id1 و id2 رو با توجه به آهنگی که در اون ستون هست مقدار بدی

oracle_2007
دوشنبه 03 تیر 1387, 16:32 عصر
دوست من ، در اول صحبتهام گفتم كه سواد وبي و جاوايي ناچيزي دارم و لطفا يكم آسونتر مطلب رو بگين ، چون راستش متوجه منظورتون نشدم :خجالت::خجالت::خجالت:
و من در اصل ، در زمان اجرا و بوسيله ديتاست اطلاعات رو به گريدويو بايند ميكنم ..(نمي دونم ربطي به صحبت شما داشت يا نه ؟؟)

miladr
دوشنبه 03 تیر 1387, 20:13 عصر
اینکارو بکن
1- به gridview یک فیلد از نوع templatefield اضافه کن
2 - در حالت edit template گرید یک hyperlink اضافه کن و بعد تو سورس به این تغییرش بده

<asp:HyperLink ID="HyperLink1" runat="server"
onclick='<%# "javascript:OpenplaySondPage('" + eval("id1") + "','" + eval("id2") + "')" %>' />

امتحان کن اگه نشد سورس صفحه رو بده برات درست کنم

oracle_2007
سه شنبه 04 تیر 1387, 01:23 صبح
سلام
متاسفانه نشد . يعني واقعا درست ميشه ؟؟؟؟
با كمال شرمندگي فايل رو گذشتم .(از لطفتون كمال تشكر رو دارم)...

oracle_2007
پنج شنبه 06 تیر 1387, 01:18 صبح
دوست عزيز جناب miladr ، شرمنده ، وقت شما رو هم گرفتم .

miladr
پنج شنبه 06 تیر 1387, 04:12 صبح
شما شرمنده امتحانات می باشد انشاا... فردا

oracle_2007
شنبه 15 تیر 1387, 18:14 عصر
دوست عزيز جناب miladr ، من همچنان منتظر شما هستم ....

raravaice
شنبه 15 تیر 1387, 21:24 عصر
برادر oracle_2007 (http://barnamenevis.org/forum/member.php?u=13060) دوست عزیزمون miladr (http://barnamenevis.org/forum/member.php?u=19175) مسئله رو خیلی روشن و واضح برات باز کرده.

این لینک رو ببین مطمئنا به کارت میاد.

http://weblogs.asp.net/infinitiesloop/archive/2007/09/25/response-redirect-into-a-new-window-with-extension-methods.aspx

موفق باشید

oracle_2007
سه شنبه 18 تیر 1387, 23:30 عصر
من هنوز اندر خم يك كوچه ام .... لطفا مشكل من رو هم حل كنين ... بابا اگه واسم مهم نبود اينقدر چك و چونه نمي زدم ؟!!(واگر خودم مي تونستم كه هزاربار خواهش نمي كردم )....

aftab_mahtab
چهارشنبه 19 تیر 1387, 00:06 صبح
من مطالب خوبي رو از اينجا ياد گرفتم ولي بنظرم آقا يا خانوم oracle_2007 (http://barnamenevis.org/forum/member.php?u=13060) راست ميگن و اگه بلد بود كه اينقدر به خودش زحمت نميداد و از شما بخواد اين كارو براش انجام بدين ...

oracle_2007
چهارشنبه 19 تیر 1387, 02:55 صبح
سلام به همگي
بالاخره مشكل من به لطف دوستاني كه در اين تاپيك شركت كردند و صفحه اي (http://weblogs.asp.net/infinitiesloop/archive/2007/09/25/response-redirect-into-a-new-window-with-extension-methods.aspx)كه آقاي raravaice معرفي كردند،حل شد.درسته يكم دير اين مشكل حل شد ولي در عوض چيزهاي خوبي از وب ياد گرفتم ؟! (يك پايان شيرين)
با تشكر از همه شما ...

oracle_2007
جمعه 21 تیر 1387, 01:29 صبح
باز هم سلام
من اون مشكل رو بصورت سرور سايد حل كردم ، اما بسيار مايل هستم كه بدونم بصورت كلاينت سايد چجوري ميشه ؟( روش دوست عزيزمون آقاي miladr)
براي همين يه تمپليت فيلد به گريد ويو اضافه كردم (اينو تازه ياد گرفتم) . بصورت زير :


<asp:TemplateField>
<ItemTemplate>
<a href="script:void(0);" onclick='<%# "playfunc('" + Eval("scode") + "');" %>'>پخش</a>
</ItemTemplate>
</asp:TemplateField>


كه در هنگام پر كردن گريد ويو ، محتواي فيلد scode رو از جدول ، در لينكي بنام پخش در گريد ويو ميذاره و با كليك روي اون فانكشن جاوا اسكريپت playfunc كه پارامتر scode رو ميگيره صدا زده ميشه و الي آخر . تابع نيز اينجوريه :


function playfunc(code) {
open('Playform.aspx?code='+ code ,"a","titlebar=no,toolbar=no,location=no,status=no,menub ar=no,scrollbars=no,resizable=no,width=375,height = 400");
}

حالا وقتي كه من روي لينك پخش كليك ميكنم ، هيچ صفحه اي باز نميشه ؟!!! لطفا راهنماييم كنيد كه كجاي راه رو اشتباه رفتم ؟