ID´s werden verändert.

27/09/2007 - 13:07 von Robin Walter | Report spam
Hi Zusammen,

habe eine (bzw. viele) Textbox mit der ID:
lb_PG_Bez (eine davon)
nach einem "AutoPostBack" hat diese Textbox plötzlich die ID:
ctl00_ctl01_PG_Bez

deklarierst ist das ganze in der CodeBehind:

Protected tBox(9) As TextBox
und wird in der Page_Load erstellt:

For p = 0 To fields.Length - 1
liBox(p) = New ListBox
liBox(p).ID = fields(p)
tBox(p) = New TextBox
tBox(p).ID = "lb_" & fields(p)
Next

wobei fields ein Array ist, bei dem die "ID´s" der ganzen Textboxen stehen.

da ich das ganze ding mit diversen Javascripts visible und unvisible
schalte, brauche ich immer die gleiche ID.

Habt ihr eine Idee wie ich es schaffe diese ID wirklich gleich zu lassen ?
Wie verbietet man .NET IDs zu automatisieren ?

Danke und Grüße
Robin
 

Lesen sie die antworten

#1 Stefan Falz [MVP]
27/09/2007 - 13:55 | Warnen spam
Hallo Robin,

"Robin Walter" schrieb:

habe eine (bzw. viele) Textbox mit der ID:
lb_PG_Bez (eine davon)



Eine ID sollte _immer_ eindeutig sein, sowohl server- als auch clientseitig.

nach einem "AutoPostBack" hat diese Textbox plötzlich die ID:
ctl00_ctl01_PG_Bez



Das ist die normale Vorgehensweise. ASP.NET weist den Controls eine eindeutige
ID zu. Allerdings wirkt sich das normalerweise nur clientseitig aus.

da ich das ganze ding mit diversen Javascripts visible und unvisible
schalte, brauche ich immer die gleiche ID.



Nö, brauchst Du nicht. Du musst lediglich dein Clientskript so umschreiben, dass
es die ClientId der Controls kennt und diese verwendet. Eine Option wàre, im
PreRender deiner Webform die ClientIds auszulesen und ein JavaScript Array damit
zu füllen, welches dann wiederum von deiner Funktion zum ein- und ausblenden der
Controls verwendet werden kann.

Alternativ kannst Du auch einfach ein anderes Control (Panel, Label, ...) um die
Textboxen drumrum setzen und dann nur dieses Control ausblenden. Damit sind auch
die untergeordneten Controls nicht mehr zu sehen.

Tschau, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

Ähnliche fragen