PDA

View Full Version : سوال: غیر فعال کردن postback در Imagebutton



mohammad87
سه شنبه 15 تیر 1389, 01:10 صبح
سلام به همه.
من یک مشکل ساده دارم.
می خوام وقتی روی این دکمه کلیک می شه دیگه پست بک نشه: دکمه زیر :
<asp:ImageButton ID="ImageButton8" runat="server" Enabled="False" ImageUrl="Image-Article/errorimage.jpg" OnClientClick="p();" />

در ضمن حتما می خوام از دکمه های تحت سرور asp: استفاده کنم کسی می دونه که چطوری باید postback غیر فعال بشه ؟
هدفم از این کار استفاده کردن از این کد هست :OnClientClick="p();" یعنی سمت کلاینت.
در ضمن دلیل اینکه از دکمه های تحت سرور استفاده کردم اینه که اول این دکمه غیر فعاله بعدش توسط کد زمان لود صفحه ، فعال میشه یعنی این :

protected void Page_Load(object sender, EventArgs e)
{

ImageButton8.Enable = true;

}

بعد از فعال شدن من فقط با اون کد جاوا یعنی OnClientClick="p();" این کار دارم؟

کسی از بروبچ (مخصوصا حرفه ای ها) می تونه راهنمایی کنه؟؟؟
راه حل دیگه ای هم کسی به ذهنش می رسه؟

alireza_s_84
سه شنبه 15 تیر 1389, 07:23 صبح
سلام به همه.
من یک مشکل ساده دارم.
می خوام وقتی روی این دکمه کلیک می شه دیگه پست بک نشه: دکمه زیر :
<asp:ImageButton ID="ImageButton8" runat="server" Enabled="False" ImageUrl="Image-Article/errorimage.jpg" OnClientClick="p();" />

در ضمن حتما می خوام از دکمه های تحت سرور asp: استفاده کنم کسی می دونه که چطوری باید postback غیر فعال بشه ؟
هدفم از این کار استفاده کردن از این کد هست :OnClientClick="p();" یعنی سمت کلاینت.
در ضمن دلیل اینکه از دکمه های تحت سرور استفاده کردم اینه که اول این دکمه غیر فعاله بعدش توسط کد زمان لود صفحه ، فعال میشه یعنی این :

protected void Page_Load(object sender, EventArgs e)
{

ImageButton8.Enable = true;

}

بعد از فعال شدن من فقط با اون کد جاوا یعنی OnClientClick="p();" این کار دارم؟

کسی از بروبچ (مخصوصا حرفه ای ها) می تونه راهنمایی کنه؟؟؟
راه حل دیگه ای هم کسی به ذهنش می رسه؟
سلام یک راه حل مبتنی بر جاوا اسکریپت وجود داره ولی در صورت غیرفعال بودن جاوا اسکریپت باز هم PostBack اتفاق میوفته.
OnClientClick="p();return false;"
شما بفرمایید چه زمانی این دکمه Enable|Disable میشه تا با راه حل بهتری بشه به جای اون از یک دکمه سمت کلاینت استفاده بکنیم تا کلا در هر شرایطی پست بکی انجام نشه یک راه حل نظریی میتونه این باشه:
یک تگ input از نوع image رو درون یک div با خصوصیت runat=server قرار بدیم و بجای Button این div رو Visible|Hide بکنیم با این حساب در سمت کلاینت امکان دسترسی به Button وجود نداره.
موفق باشید

mohammad87
سه شنبه 15 تیر 1389, 10:48 صبح
یک تگ input از نوع image رو درون یک div با خصوصیت runat=server قرار بدیم و بجای Button این div رو Visible|Hide بکنیم با این حساب در سمت کلاینت امکان دسترسی به Button وجود نداره.

ممنون علیرضا که جواب دادی . درضمن من خط بالا رو متوجه نشدم اگه امکانش هست کدش رو بنویس بزار.
راستی من توی کدم گفته بودم زمانی که فرم(صفحه) لود می شه اگر مقداری که از بانک میاد مثلا مقدار مدیریتی 1 باشه این دکمه Enable میشه. وگرنه همون طوری disable می مونه. راه حلی داری ؟
حالا:
**اگه نخوام این دکمه از نوع سرور باشه چطوری می تونم از سمت سرور دکمه غیر سروری رو Enable غیا Disable کنم؟؟؟؟؟**