2010-07-21 12 views
8

ASP.NET sunucu denetiminde belirli bir kimlik ayarlamak mümkün mü? Her defasında bir ID atar ve web formunu çalıştırırsa ID değişir.Bir MasterPage kullanan bir ASP.NET Web Formunda sunucu denetimleri için belirli bir kimlik nasıl ayarlanır?

<asp:TextBox ID="txtName" runat="server"></asp:TextBox> 

bu çevrildi Gets the: Örnek için

Ben bu ana sayfaları kullanarak bana yapacağı, ama eğer öyleyse ben bir kontrol olarak da kullanıcılar emin nasıl olabilir düşünüyorum
<input id="ct100_ContentPlaceHolder1_txtName" type="text" /> 

belirli bir kimlik (javascript amaçlı). Otomatik olarak oluşturulan kimliği javascript'ime yerleştirdim ve işe yarıyor, ancak orijinal olarak atadığım kimlikleri kullanmayı tercih ediyorum. Mümkün mü?

cevap

4

Web denetimleri kimlikleri, sürüm 4.0'dan önce .NET'de olan yoldur. Sürüm 4.0, here hakkında okuyabileceğiniz istemci kimlikleri sunar.

Sen JS böyle Somthing kullanabilirsiniz:

var something = '<%= txtName.ClientID %>'; 
21

istemci tarafı kimlikleri (see this post for details) gibi bakmak konusunda daha fazla kontrol elde .NET 4 ile başlayan:

(ASP.NET 3.5 Bu sürümü içindir).

Belirli bir istemci tarafı kimliğini zorlamak için ClientIDMode'u statik olarak ayarlamanız gerekir. Aşağıdaki id="txtName" ile <input> eleman verecek:

<asp:TextBox ID="txtName" ClientIDMode="static" runat="server"></asp:TextBox> 

bunu yaparsanız, size aynı istemci tarafı kimlikleri ile iki denetimleri yok olmasını sağlamak için olmasına rağmen

. Diğer seçenekler için yukarıda bağlantılı makaleye bakın.

+0

Güzel cevap - teşekkürler. – Stumblor

2

Denetim ağacına eklendikten sonra gerçek kimliği almak için, codebehind öğesinde Control.ClientID özelliğini kullanabilirsiniz.

Asp.net web formları tarafından yapılan süper can sıkıcı bir seçim.

İlgili konular