为什么asp:DropDownList和相同宽度的asp:TextBox显示不同

时间:2010-02-11 22:56:14

标签: c# html

我在表格中使用以下代码:

<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>控件为205px,<asp:DropDownList>宽度为200px。是什么造成的?它们都设置为200px的宽度。

4 个答案:

答案 0 :(得分:19)

因为文本框边框有2px的边框和1px的填充。

答案 1 :(得分:1)

DropDown会根据您提供的选项大小调整大小。所以,如果你有更长的选择,你会得到更长的下拉。此外,右角的箭头需要更多的位置。

答案 2 :(得分:1)

不太相关,但这里有一个快速提示,可以为您节省很多麻烦:

永远不要使用ASP:文本框或ASP:DropDownList

&lt; textbox runat = server&gt;和&lt; select runat = server&gt;将适用于您可能需要的每一个案例,并且它们不会添加任何令人困惑的属性,例如“宽度”,这些属性不能正常工作。

对你所做的一切使用带有CSS类的真实HTML标签,并且只将runat = server添加到你实际打算从后端搞乱的那些。

答案 3 :(得分:0)

当您在下拉列表中插入数据时,如果您未设置width属性,则会调整大小,但如果您设置宽度,则不会调整其大小。