2013-07-01 2 views
1

Dans une application Web ASP.NET, sur ma page d'accueil, j'ai les commandes suivantes:Existe-t-il un moyen de définir une hauteur minimale sur un contrôle de panneau 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> 

Mon contrôle du panneau « UpcomingAudits » est un contrôle auquel éléments sont ajoutés par programme dans le code-behind basés sur des éléments sur un horaire. Il n'y a pas de nombre fixe d'éléments - cela dépend du nombre de plannings. À droite du panneau se trouve une barre d'outils avec des liens vers d'autres pages. Chaque fois qu'il y a très peu d'éléments dans le planning, le panneau devient très petit et le GridView "ExpirationDates" se cogne dans la barre d'outils de droite, ce qui gâche la mise en page.

Existe-t-il un moyen de définir une taille minimale sur le panneau qu'il ne rétrécit pas au-delà? J'ai essayé de définir l'attribut height, mais s'il a une hauteur fixe et que des éléments sont ajoutés au panneau qui dépassent la hauteur, ils débordent sur le GridView.

(Note: J'ai marqué ce poste avec la balise « C# » parce que c'est ce qui est utilisé dans mon code-behind je aussi tagged « html » et « css » parce que je pouvais forsee une solution venant de. l'un de ces domaines, bien que je n'en connaisse pas.)

Répondre

3

Vous pouvez utiliser min-height en CSS.

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

L'inconvénient de ceci est qu'il n'est pas supporté IE6.

Problèmes connus: IE7 ne prend pas en charge "inherit" en tant que valeur. IE8 a quelques bugs avec max-width/height combinés avec overflow: auto/scroll.

+0

Fonctionne exactement comme demandé! – called2voyage

+2

Il est concevable que cela ne fonctionne pas sans 'ClientIDMode =" Static "', à moins bien sûr que cela soit déjà défini pour toute l'application. De plus, même si cela fonctionne par hasard, si l'OP a déjà déplacé le DIV, il cesserait de fonctionner si le 'ClientIDMode' n'était pas correctement défini. –

+0

Je travaille avec IE8, et il ne semble pas avoir de problèmes pour moi. Pouvez-vous nous en dire plus sur les problèmes que cela pourrait causer, car je voudrais les éviter? – called2voyage

3

On peut imaginer la voie à suivre est la plus directe avec CSS:

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

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

où vous pouvez avoir une valeur pour votre min-height.

Questions connexes