PDA

View Full Version : فعال کردن یک پنجره کوچک با فشردن LinkButton



golnouri
جمعه 26 شهریور 1389, 14:29 عصر
با سلام، من مشغول طراحی یک سایت در محیط Asp.Net هستم.
یک LinkButton در صفحه دارم. می خواهم کاربر پس از زدن این linkButton یک پنجره شبیه پنجره کامت گذاری وبلاگهای بلاگفا براش باز بشه. برای این کار باید چیکار کنم و اینکه چه جوری تو این پنجره نوشته ای قرار بدم.

ممنون:لبخندساده:

khorsandreza
جمعه 26 شهریور 1389, 15:28 عصر
این اسکریپت را به اول فایل aspx خود اضافه کن


<script language="javascript">
function openwindow(xnam) {
w_nam = xnam;
var width = 485;
var height = 550;
var left = (screen.width - width) / 2;
var top = ((screen.height - height) / 2)-20;
w_prop = 'width=' + width + ',height='+height+',left=' + left + ',top=' + top + ',scrollbars=yes,border=none,toolbar=none,status=y es';
sub_w = window.open(w_nam, "", w_prop)

}
</script>


سپس روی کلید مورد نظرت دابل کلیک کن و دستور زیر را در محل وارد کن


string winopen = string.Format("openwindow('Shownazar.aspx?id={0}')",e.CommandArgument.ToString());
ScriptManager.RegisterClientScriptBlock(Page, typeof(Page), "MyScript", winopen, true);

khorsandreza
جمعه 26 شهریور 1389, 15:34 عصر
با پوزش :
دستور دوم را در قسمت Event روی Command کلیلک کن با این روش میتوانی پارامتر کلید را دریافت کنی و مثال گذاشته شده دقیقا همیین کار میکند

golnouri
جمعه 26 شهریور 1389, 16:31 عصر
کاری که گفتید و کردم اما کار نکرد و تنها صفحه refresh داده میشه

rana-writes
جمعه 26 شهریور 1389, 19:12 عصر
سلام
کافیه این کدها رو توی رویداد کلیک لینک باتن بنویسین


StringBuilder sb = new StringBuilder();
if (!ClientScript.IsClientScriptBlockRegistered("exampleScript"))
{
sb.Append("<script language='javascript' type='text/javascript'>");
sb.Append("window.open('PostComment.aspx?PostID=" + PostID + "','','scrollbars=yes,toolbar=no,status=yes,locatio n=no,dir ectories=no,width=500,height=500,top=100,left=300' );");
sb.Append("</script>");
ClientScript.RegisterStartupScript(this.GetType(), "exampleScript", sb.ToString());
}

برای پاس دادن شماره پست، که کامنتهای ثبت شده همون پست دیده بشه از QueryString استفاده کردم و فیلد PostId رو بهش ارسال کردم اسم صفحه م هم PostComment هستش
باید این NameSpace رو هم اضافه کنین
using System.Text;

موفق باشین

khorsandreza
جمعه 26 شهریور 1389, 20:25 عصر
این هم یک مثال ساده
شاید مشکلت را حل بکنه