即使设置了宽度,下拉列表框也会根据需要设置宽度

htm*_*11h 5 vb.net asp.net

我有一个下拉列表框,显示数据库中的数据。问题是有些记录非常长,因此下拉框的宽度超出了屏幕的一侧。我设置了合理的宽度,但它并没有阻止下拉框变得足够宽以显示每条记录。我怎样才能设置固定宽度呢?

<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" 
     DataSourceID="SqlDataSource1Usage" DataTextField="data_text" 
     DataValueField="ID" Width="280px">
</asp:DropDownList>here
Run Code Online (Sandbox Code Playgroud)

谢谢,

Mil*_*Joe 4

尝试按如下方式设置样式:

<select id="yourselect" style="width: 100px; max-width: 100px">
    <option>...</option>
</select>
Run Code Online (Sandbox Code Playgroud)

或者

<div style="width: 100px; max-width: 100px">
    <select id="yourselect" style="width: 100%; position: relative">
        <option>...</option>
    </select>
</div>
Run Code Online (Sandbox Code Playgroud)

也许这有帮助...

编辑:使用 Attributes 属性:

标记:

<asp:DropDownList ID="cboItems" runat="server" />
Run Code Online (Sandbox Code Playgroud)

背后代码:

List<ListItem> items = new List<ListItem>();
for (int i = 1; i < 11; i++)
{
    ListItem item = new ListItem();
    item.Text = string.Format("this is a very very long item text corresponding to the  number {0}", i);
    item.Value = i.ToString();
    items.Add(item);
}
cboItems.DataSource = items;
cboItems.DataBind();
// after data bind is complete
cboItems.Attributes["style"] = "width: 100px; max-width: 100px";
Run Code Online (Sandbox Code Playgroud)

也许我不明白你想要做什么,但这就是我对属性的意思。