PDA

View Full Version : آموزش: ساخت یک Button بصورت پویا (Dynamic) هنگام کلیک کردن بر روی یک Button ایستا(Static) !



Peyman.Gh
سه شنبه 31 فروردین 1389, 19:40 عصر
چند روز پیش آموزشی مبنی بر ساختن Button بصورت دینامیک قرار دادم :
http://barnamenevis.org/forum/showpost.php?p=956037&postcount=23

اما به این فکر افتادم که چگونه با کلیک بر روی یک Button ایستا یک Button دینامیک ایجاد شود و زیر برنامه کلیک آن Button کار کند !
روشی که در لینک بالا توضیح دادم جوابگو نیست زیرا وقتی روی Button ایستا کلیک میکنیم صفحه PostBack میشود و Button دینامیک ساخته میشود اما کد زیر برنامه اجرا نمیشود زیرا صفحه دوباره بارگزاری نشده و فقط PostBack شده است ولی اگر در Page_Load قرار دهیم قبل از اولین Button , PostBack دینامیک ما ساخته شده است و کار میکند.اگر غیر اینصورت میباشد دوستان تصحیح نمایند.:متفکر:

یک راه حل به ذهنم رسید گفتم برای دوستان قرار دهم شاید مفید باشد مخصوصاً برای این تاپیک :http://barnamenevis.org/forum/showthread.php?t=215427

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (Session["mode"] == "active")
{
form1.Controls.Add(btn());
Button1.Visible = false;
}
if (Session["remove_mode"] == "active")
{
form1.Controls.Remove(btn());
Button1.Visible = false;
}
}
public Button btn()
{
Button btn = new Button();
btn.Text = "TEST";
btn.Click += new EventHandler(btn_click);
return btn;
}
void btn_click(object sender, EventArgs e)
{
Response.Write("Test !!!");
Session.Add("remove_mode","active");
Session.Remove("mode");
Server.Transfer("default.aspx");
}
protected void Button1_Click(object sender, EventArgs e)
{
Session.Add("mode","active");
Server.Transfer("default.aspx");
}
}موفق باشید.

اوبالیت به بو
چهارشنبه 01 اردیبهشت 1389, 10:15 صبح
فرق خط هشتم کد شما با خط سیزدهم در چیه؟ در هر 2 حالت Button نمایش داده نشه؟


به نظر شما برادر این کار به سرور فشار وارد نمی کنه؟

استفاده از AJAX به صرفه تر نیست؟

و یه سوال دیگه مزیت این کار چیه؟ کجا تو وب کاربرد داره ؟

Peyman.Gh
چهارشنبه 01 اردیبهشت 1389, 20:30 عصر
فرق خط هشتم کد شما با خط سیزدهم در چیه؟ در هر 2 حالت Button نمایش داده نشه؟میخواهیم ابتدا بر روی Button ایستای خود کلیک کرده سپس Button ایستا پنهان شود (خط شماره 8) و Button دینامیک ساخته شود و وقتی بر روی Button دینامیک کلیک کرده زیر برنامه کلیک آن اجرا و Button دینامیک هم پنهان شود و چون دوباره لود میشود پس نیاز است که دوباره Button ایستا را پنهان کنیم (خط شماره 13).


به نظر شما برادر این کار به سرور فشار وارد نمی کنه؟ %100 !!!


استفاده از AJAX به صرفه تر نیست؟کار نکردم !


و یه سوال دیگه مزیت این کار چیه؟ کجا تو وب کاربرد داره ؟ به هر حال یک مثال از ساخت کنترل به صورت دینامیک میباشد و بسته به نیاز شما دارد.:لبخند::چشمک:

موفق باشید.