PDA

View Full Version : کدام ImageButton ساخته شده دینامیک زده شده ؟



shahab_ksh
سه شنبه 30 مرداد 1386, 14:04 عصر
فرض کنید صد کلید ImageButton بصورت دینامیک ساخته شده حالا از کجا باید بفهمم کدام یک از این ImageButton ها کلیک شده




Dim i AsInteger

For i = 1 To 100

Dim clt_btn As New ImageButton
clt_imagebutton_up.ImageUrl = "btn.gif"
clt_btn.ID = "clt_id_" + i.ToString
clt_btn.CommandArgument = "arg_id_" + i.ToString
clt_btn.CommandName = "name_id_" + i.ToString

Next

shahab_ksh
سه شنبه 30 مرداد 1386, 21:10 عصر
کسی راهی به نظرش نمیرسه

Behrouz_Rad
سه شنبه 30 مرداد 1386, 22:23 عصر
در روال Click اش، sender رو Cast کن به ImageButton و ID اش رو به دست بیار.

موفق باشید.

shahab_ksh
سه شنبه 30 مرداد 1386, 23:57 عصر
جواب رو گرفتم

Behrouz_Rad
چهارشنبه 31 مرداد 1386, 00:18 صبح
در روال dynamicbutton_Click


Dim obj_ImgBtn As ImageButton
obj_ImgBtn = DirectCast(sender, ImageButton)
Response.Write(obj_ImgBtn.ID)

nazaninam
چهارشنبه 31 مرداد 1386, 00:33 صبح
جناب راد معادل DirectCast تو C# چیه؟

shahab_ksh
چهارشنبه 31 مرداد 1386, 00:35 صبح
البته راه دیگه ای رو هم پیدا کردم




Dim clt_imagebutton_up AsNew ImageButton
clt_imagebutton_up.ImageUrl = "~/Images/ToolsImage/gridview_up.gif"clt_imagebutton_up.ID = "clt_up_" + par_id.Value.ToString
clt_imagebutton_up.CommandArgument = par_id.Value.ToString
clt_imagebutton_up.CommandName = par_id.Value.ToString
AddHandler clt_imagebutton_up.Click, AddressOf dynamicbutton_Click






PrivateSub dynamicbutton_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs)
Dim x As ImageButton = CType(sender, ImageButton)
Label1.Text = x.ID
EndSub

Behrouz_Rad
چهارشنبه 31 مرداد 1386, 00:39 صبح
جواب رو گرفتم
پستت رو نباید ویرایش میکردی تا کسی که پست بعدیه من رو میخونه بدونه سوال تو چی بوده!

جناب راد معادل DirectCast تو C# چیه؟
معادل نداره.

البته راه دیگه ای رو هم پیدا کردم
فرق کدهایی که نوشتی با کدهایی که من نوشتم در چیه؟!!!!!!!

shahab_ksh
چهارشنبه 31 مرداد 1386, 01:33 صبح
پستت رو نباید ویرایش میکردی تا کسی که پست بعدیه من رو میخونه بدونه سوال تو چی بوده!



بله حق کاملا با شماست اما زمانی من ویرایش کردم هنوز فک کنم جواب شما پست نشده بود




فرق کدهایی که نوشتی با کدهایی که من نوشتم در چیه؟!!!!!!!


از کد شما بسیار ممنون آقای راد این رو در جواب nazaninam زدم که معال DirectCast رو میخواستن گفتم فقط میشه از Ctype هم استفاده کرد جناب راد شما استادین قصد جسارت نداشتم :x

Behrouz_Rad
چهارشنبه 31 مرداد 1386, 08:14 صبح
این رو در جواب nazaninam زدم که معال DirectCast رو میخواستن گفتم فقط میشه از Ctype هم استفاده کرد
نه! از CType استفاده نکن!
قبلا هم در این بخش توضیح دادم که اگر نوع یک Control رو میدونی حتما از DirectCast استفاده کن.
CType برای زمانی هست که دو نوع با هم سنخیتی ندارن. مثلا برای تبدیل Integer به Double
استفاده ی صحیح نوع Casting تا حد زیادی Performance رو بالا میبره.

موفق باشید.