2010-02-11 22 views
9

Ben Bir tablonun içine aşağıdaki kodu kullanıyorum görünür: Kod sitesinde göründüğündeNeden asp: DropDownList ve asp: aynı genişlikte TextBox farklı

<tr> 
    <td>User Language:</td> 
    <td> 
     <asp:DropDownList ID="Language" runat="server" Width="200px"> 
      <asp:ListItem Selected="True">English</asp:ListItem> 
     </asp:DropDownList> 
    </td> 
</tr> 
<tr> 
    <td><span class="important">*</span>Company:</td> 
    <td><asp:TextBox ID="Company" runat="server" width="200px" /></td> 
</tr> 

<asp:Textbox> kontrol 205px ve <asp:DropDownList>, 200 piksel genişliğindedir. Buna neden olan nedir? Her ikisi de 200 piksel genişliğe ayarlanmış.

+0

Hangi tarayıcı? Firefox? – SLaks

cevap

18

Metin kutusunun kenarlarında 2px kenarlık ve 1px dolgu var.

+0

Doğru cevap budur. – SLaks

+0

Pardon, ben Google Chrome'u kullanıyorum (version: 59.0.3071.86). Sayfayı incelediğimde, metin kutusunun genişliğinin DropDownList (200px) 'den ** 4px ** daha fazla (204px) olduğunu söylüyor. (Hatta 2px + 1px 3px, hala 1px kısa!) – user3454439

1

DropDown, içinde sağladığınız seçeneklerin boyutuyla ilgili olarak yeniden boyutlandırılır. Yani, daha fazla seçeneğiniz varsa, daha uzun bir süre düşersiniz. Ek olarak, sağ köşedeki ok için daha fazla yer alır.

0

Açılır listeye veri eklediğinizde, width özelliğini ayarlamazsanız yeniden boyutlandırır, ancak genişliği ayarlarsanız yeniden boyutlandırılmaz.

1

oldukça ilgili, ama burada yolda size çok baş ağrısı kurtaracak hızlı bir ipucu değil: Metin kutusu veya ASP: DropDownList

< metin kutusu runat = server>

asla ASP kullanmak ve < select runat = server> ihtiyaç duyabileceğiniz her durumda çalışacak ve doğru çalışmayan "genişlik" gibi kafa karıştırıcı özellikler eklemiyorlar.

Yaptığınız her şey için gerçek HTML etiketlerini CSS sınıfları ile kullanın ve yalnızca runend = server'ı arka uçtan etkilenmeyi düşündüğünüz olanlara ekleyin.

+0

Bu iyi bir tavsiye mi? Bu kontrollerin var olmasının bir nedeni olmalı. HTML metin kutularını ve açılır menüleri tarıyor musunuz? –

+1

Kısmen tutarlılık için varlar, ancak öncelikle temel ASP.NET sürükle-bırak web formları fikrini destekliyorlar. İnsanlar akıllıca sürüklenemeyen kodlara yönelmekten kaçınırlar, ancak bazen her HTML etiketinin runat = server'ı desteklediğini ve bu nedenle asp'i kullanmaları gerekmediğini unuturlar: equivilants. –

+0

Evet, sorunuza cevap olarak, HtmlSelect'in bir .DataSource özelliği ve .DataBind() yönteminin yanı sıra Metin ve Değer üyelerine sahip olduğunu göreceksiniz. –