PDA

View Full Version : سوال: باز نمودن یک صفحه با ویژگی های دلخواه



m_kalantar.cs
دوشنبه 16 آذر 1388, 17:19 عصر
درود به همه
من برای باز کردن یک صفحه اگه بخوام در صفحه جدید باز بشه و مثلا" اندازه آن 300 در 500 باشد از کنترل های html استفاده میکنم و در قسمت کد های html کد باز کردن صفحه را با open مینوسم و مشکلی نیست
خب حالا اگه بخوام در قسمت سمت سرور یعنی فایل CS صفحه ای را باز کنم باید از چه دستوری استفاده کنم تا صفحه در صفحه جدید (new page ) باز شود.
با دستور response.redirect هر چی امتحان کردم نشد.
آیا میشود با دستور response.redirect صفحه را باز کرد و در قسمت html آن صفحه ای که میخواهیم باز شود در رویداد لود آن بگوئیم در new page با اندازه دلخواه باز شود ؟
سپاسگذارم

mehdi.mousavi
دوشنبه 16 آذر 1388, 17:29 عصر
درود به همه من برای باز کردن یک صفحه اگه بخوام در صفحه جدید باز بشه و مثلا" اندازه آن 300 در 500 باشد از کنترل های html استفاده میکنم و در قسمت کد های html کد باز کردن صفحه را با open مینوسم و مشکلی نیست خب حالا اگه بخوام در قسمت سمت سرور یعنی فایل CS صفحه ای را باز کنم باید از چه دستوری استفاده کنم تا صفحه در صفحه جدید (new page ) باز شود. با دستور response.redirect هر چی امتحان کردم نشد. آیا میشود با دستور response.redirect صفحه را باز کرد و در قسمت html آن صفحه ای که میخواهیم باز شود در رویداد لود آن بگوئیم در new page با اندازه دلخواه باز شود ؟ سپاسگذارم

درود!
این پنجره ای که شما به سایز 300x500 باز می کنید رو با JavaScript باز می کنید؟ همونجا میتونید URL به Page ای رو که مایلید بهتون نشون بده قرار بدید. بعنوان نمونه:

window.open('http://google.com');

حالا شما سمت سرور، یک Page ایجاد کنید (بطور مثال) Test.aspx و سپس هنگام Open کردن، مسیر به اون فایل رو بعنوان پارامتر اول به تابع open پاس می کنید.

اگر منظورتون قرار دادن یک صفحه، بعنوان بخشی از یک صفحه دیگه سمت سرور هستش، شما باید به Master Page ها و Custom Control ها در ASP.NET رجوع کنید.

اگر منظور دیگه ای دارید، لطفا واضح بیان کنید. - بدرود!

m_kalantar.cs
سه شنبه 17 آذر 1388, 09:20 صبح
دوست عزیز فرض کنید من یک button از کنترل های ASP.NET دارم که میخواهم در رویداد کلیک آن کدی را بنویسم که صفحه test.aspx را مثلا با اندازه 300 در 400 در new page باز کند.با دستور open که شما فرمودید میتوان در قسمت html و رویداد onclienClick این کار را کرد .ولی من به دلایلی نمی خواهم از رویداد onclientClick استفاده کنم .دستور open دستورات جاوا اسکریپت است و نمیتوان از آن در قسمت سمت سرور که کد های #C یا VB قرار دارند استفاده کرد.چه روشی را پیشنهاد میکنید.
سپاس

m_kalantar.cs
سه شنبه 17 آذر 1388, 09:26 صبح
آیا امکانش هست که در رویداد کلیک سمت سرور آن button با دستور response.redirect صفحه text.aspx را باز کنم و در صفحه test.aspx در قسمت html آن کدی را بنویسم که درمثلا" اندازه دلخواه باز شود.اگر امکانش هست لطفا" بگوئید کد را باید در کدام قسمت از html صفحه test.aspx بنویسم
بسیار سپاسگذارم

mehdi.mousavi
سه شنبه 17 آذر 1388, 12:23 عصر
دوست عزیز فرض کنید من یک button از کنترل های ASP.NET دارم که میخواهم در رویداد کلیک آن کدی را بنویسم که صفحه test.aspx را مثلا با اندازه 300 در 400 در new page باز کند.با دستور open که شما فرمودید میتوان در قسمت html و رویداد onclienClick این کار را کرد .ولی من به دلایلی نمی خواهم از رویداد onclientClick استفاده کنم .دستور open دستورات جاوا اسکریپت است و نمیتوان از آن در قسمت سمت سرور که کد های C#‎ یا VB قرار دارند استفاده کرد.چه روشی را پیشنهاد میکنید. سپاس

آهان!
خوب بهتر بود اینو از همون اول به همین وضوح میگفتید. برای اینکار، کافیه تا سمت سرور و در handler کلید مزبور، کد Client-Side ای رو Register کنید تا وقتی اطلاعات به Client بازگردونده میشه، کد Client-Side شما نیز اجرا بشه. اینطوری، شما میتونید سمت سرور و در handler مزبور، کار Server-Side خودتون رو انجام بدید، و در نهایت، با Register کردن یک ScriptBlock عمل باز شدن پنجره سمت Client رو هم کنترل کنید.

بدین منظور، میتونید از ClientScriptManager (http://msdn.microsoft.com/en-us/library/system.web.ui.clientscriptmanager.aspx) استفاده کنید یا اگر از MS-AJAX استفاده می کنید، بهتره تا از ScriptManager (http://msdn.microsoft.com/en-us/library/system.web.ui.scriptmanager.aspx) استفاده کنید. در نهایت، میتونید سمت سرور Helper Class ای بنویسید که کار تولید و Register کردن این کد رو انجام بده. اینطوری بنظر میرسه که شما سمت سرور پنجره رو باز میکنید، اما در حقیقت، کد Client-Side مورد نیاز باز شدن پنجره رو سمت سرور تولید و به Client روانه می کنید.

موفق باشید.