2011-11-10 20 views
0

パネルをテーブルセルの内側に置き、幅と高さのプロパティを100%に設定して、パネルがtablecellの100%のスペースを占めるようにします。 パネルの幅と高さのプロパティを100pxに設定した場合のみ、それが表示されます。 それでは、パネルを常に100%使用するようにパネルを設定するにはどうすればいいですか?テーブルセル内のパネルで100%が動作しないのはなぜですか?

この例では、パネルは表示されません。

<asp:Table runat="server" ID="mainTable" Width="100%" Height="100%" BorderColor="Red" BorderWidth="20px" BorderStyle="Solid"> 
    <asp:TableRow runat="server" ID="mainRow" Width="100%" Height="100%" BorderColor="Purple" BorderWidth="20px" BorderStyle="Solid"> 
     <asp:TableCell runat="server" ID="maincell" Width="30%" Height="100%" BorderColor="AliceBlue" BorderWidth="20px" BorderStyle="Solid"> 
      <asp:Panel runat="server" ID="mainpanel" Width="100%" Height="100%" BackColor="Gainsboro"></asp:Panel> 
     </asp:TableCell> 
     <asp:TableCell runat="server" ID="TableCell1" Width="30%" Height="100%" BorderColor="AliceBlue" BorderWidth="20px" BorderStyle="Solid"> 
      <asp:Panel runat="server" ID="Panel1" Width="100%" Height="100%" BackColor="Gainsboro"></asp:Panel> 
     </asp:TableCell> 
     <asp:TableCell runat="server" ID="TableCell2" Width="30%" Height="100%" BorderColor="AliceBlue" BorderWidth="20px" BorderStyle="Solid"> 
      <asp:Panel runat="server" ID="Panel2" Width="100%" Height="100%" BackColor="Gainsboro"></asp:Panel> 
     </asp:TableCell> 
    </asp:TableRow> 
</asp:table> 

を私は後でその中にコントロールを配置したいので、私は、セル内のパネルを置きます。

答えて

0

ユニットタイプを指定する必要があります(デフォルトはピクセルです)。私はマークアップでそれを指定する方法を見つけることができないので、本当に助けになりません。 aspnet table - specify TableCell width?

彼らは代わりにCSSを使用することをお勧め:

この質問は、同様の問題があります。

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.webcontrol.width.aspx#Y0

webControl.width = Unit.Percentage(100)は、ASPをしない私としてこれを置くところここでもわからない、動作するはずです。

0

これはブラウザの脆弱性/最適化によるものだと思います。 Webページは正しいhtmlにレンダリングされますが、ブラウザがページをレンダリングすると、空のdivをスキップ/削除します。したがって、& nbspのようなdivのいずれかに何らかのコンテンツを挿入すると、ブラウザはdivを正しくレンダリングします。テーブルセル、IE7とFFにstyle="empty-cells: show"を入れ

0

はそれを正しくレンダリングしますが、IE9では、CSSで遊んで、各ブラウザの正しいスタイルを設定した背景色に

 <asp:TableCell runat="server" ID="maincell" Width="30%" Height="100%" BorderColor="AliceBlue" 
      BorderWidth="20px" BorderStyle="Solid" style="empty-cells: show"> 
      <asp:Panel runat="server" ID="mainpanel" Width="100%" Height="100%" BackColor="Gainsboro"> 
      </asp:Panel> 
     </asp:TableCell> 

をスペースを取るのではなく。それはそれを疲れさせる方法です。 :/

関連する問題