C# 设置ASP.NET(4.0)列表框的宽度和高度以适合项目

C# 设置ASP.NET(4.0)列表框的宽度和高度以适合项目,c#,asp.net,listbox,size,C#,Asp.net,Listbox,Size,我在绑定到linqdatasource的页面上有一个列表框。 在ondatabound事件中,我试图使屏幕上列表框的大小与项目相匹配,以避免滚动并避免过多的空白 我该怎么做 protected void ListBox1_DataBound(object sender, EventArgs e) { ListBox1.FitToItems(); } protected void FitToItems() { ...? } 尝试在生成的标记上设置大小属性。 类似于 $(document)

我在绑定到linqdatasource的页面上有一个列表框。 在ondatabound事件中,我试图使屏幕上列表框的大小与项目相匹配,以避免滚动并避免过多的空白

我该怎么做

protected void ListBox1_DataBound(object sender, EventArgs e)
{
  ListBox1.FitToItems();
}
protected void FitToItems() {
  ...?
}

尝试在生成的标记上设置大小属性。 类似于

$(document).ready(function() {
  $('#<%=this.ListBox1.ClientID%>').attr('size', $('#<%=this.ListBox1.ClientID%> option').length);
});
$(文档).ready(函数(){
$('#').attr('size',$('#option').length);
});
使用jQuery

或者使用ListBox.Rows=ListBox.Items.Count服务器端进行设置(我自己没有尝试过,但我认为它就是这么做的)。

尝试:

Listbox.rows = Listbox.Items.count

没有应用任何CSS样式的ListBox适合于项目的最长文本表示形式。因此隐式地没有水平scollbar。这给了我一个“指定的参数超出了有效值的范围。参数名称:值”错误,因为
Listbox.Items.count
为0,即使有在附近DDL的SelectedIndexChange上触发的SQLCommand返回的项。