2008-10-14 6 views
5

Bunu anlamıyorum.Neden ASP.NET sayfam, 'ctl00_ctl00' önekini html öğesi kimliğine ekler ve tasarımı bozar?

Ana sayfadaki html öğelerinin kimlikleri aynı kimlikle değiştirilir, ancak bir önekle ve css tasarımını bozar. ana sayfasında

Ben:

<div id="container" runat="server"> 

    <asp:ContentPlaceHolder ... 

... 

Yukarıdaki kod

<div id="ctl00_ctloo_container"> 

    ... 

oluşturulur Ve CSS stilleri açıkçası gitmiş.

Nasıl durdurabilirim?

Teşekkürler!

cevap

4

WebForms yalnızca sunucu kontrollerinin kimlikleri (yazarsın bundan böyle <asp:ContentPlaceHolder />, <div id="container"> Sunucu denetimlere kimlikleri yeniden gelen çerçeveyi engelleyemez

runat="server" olmadan. Gerçi bunun yerine sınıf adları kullanabilirsiniz gibi değil sıradan HTML öğesidir. Eğer kod arkasında sizin div elemanı ile bir şey yapmazsanız

+0

Herkese çok teşekkür ederim, bu durumda divda atfedilen runat = "server" vardı, Üzgünüm ilk defa sağlamadım, bu yüzden Kimlik değiştirildi! –

1

AFAIK bunu yapamazsınız. Bu, kontrol ağacı nedeniyle varsayılan davranıştır.

sizin gibi, kimlikleri bağımlı olmayan, CSS sonra doğrudan CSS sınıfı ayarlamak kullanmak isterseniz

<asp:Whatever runat="server" id="whatever" CssClass="whateverClass"> 

Güncelleme:Here bir similair iplik, ama üzerinde yardımcı olmaz senin CSS problemin.

1

sen? runat = "server" etiketi ihtiyacım etme, runat = "server" etiketi gerekmez.

-1

çıkarın ve onu çıkardı neden orada olduğunu bilmiyorum ... kimlikleri c değil şimdi asıldı. Teşekkürler

İlgili konular