2013-07-01 62 views
1

在ASP.NET Web应用程序,在我的主页,我有以下控件:有没有办法在ASP.NET面板控件上设置最小高度?

<asp:Panel ID="UpcomingAudits" runat="server"></asp:Panel> 

<asp:Label runat="server" ID="ExpireHeader"><h2>Expiration Dates</h2><br /></asp:Label> 
<asp:GridView ID="ExpirationDates" runat="server" 
OnRowCreated="ExpirationDates_RowCreated" CellPadding="10" 
AutoGenerateEditButton="True" AutoGenerateDeleteButton="True" 
OnRowEditing="ExpirationDates_RowEditing" OnRowUpdating="ExpirationDates_RowUpdating" 
OnRowCancelingEdit="ExpirationDates_RowCancelingEdit" 
OnRowDeleting="ExpirationDates_RowDeleting"></asp:GridView> 

我的面板控制“UpcomingAudits”是哪些项目在编程方式添加代码隐藏基于项目的控制时间表。没有固定数量的项目 - 这取决于预定的数量。在面板的右侧有一个带有指向其他页面的链接的工具栏。只要计划中的项目很少,面板就会变得非常小,“ExpirationDates”GridView碰到右侧工具栏,搞乱了布局。

有没有一种方法可以在面板上设置最小尺寸,使其不缩小?我已经尝试过设置高度属性,但是如果它具有固定的高度,并且元素被添加到超出高度的面板上,它们会在GridView顶部溢出。我标记了“html”和“css”,因为我可以预见一个可能的解决方案来自于我的代码隐藏其中之一,但我不知道其中一个)。

回答

3

您可以在CSS中使用min-height

div#UpcomingAudits {min-height:300px;} 

缺点是它不支持IE6。

已知问题:IE7不支持“继承”作为值。 IE8有一些错误,最大宽度/高度结​​合溢出:自动/滚动。

+0

完全按照要求工作! – called2voyage

+2

可以想象,除非'ClientIDMode =“Static”',否则这是行不通的,除非已经为整个应用程序设置。此外,即使它通过偶然事件工作,如果OP曾经移动过DIV,如果ClientIDMode没有被正确设置,它也会停止工作。 –

+0

我正在使用IE8,它似乎对我没有任何问题。你能详细说明它可能导致什么问题,因为我想避免它们? – called2voyage

3

可以想象的最直接的方式是使用CSS:

<asp:Panel ID="UpcomingAudits" runat="server" CssClass="panel"></asp:Panel> 

.panel { 
    display: block; 
    min-height: 100px; 
} 

在那里你可以有你的min-height任何价值。

相关问题