0

コードスニペット:

<TD><center>
<asp:ImageButton id=imgManagOrd Runat="server" ImageUrl="images/ManageOrders.jpg"></asp:ImageButton></center></TD>
<TD><center>
<asp:ImageButton id=imgStockOrder Runat="server" ImageUrl="images/stockorder.jpg">    </asp:ImageButton></center></TD>
<TD><center>
<asp:ImageButton id=imgAdmin Runat="server" ImageUrl="images/admin.jpg">    </asp:ImageButton></center></TD>
<TD><center>
<asp:ImageButton id=imgContact Runat="server" ImageUrl="images/contact.jpg">    </asp:ImageButton></center></TD>

許可に応じてコードビハインドから特定の td を非表示にしていますが、これらの td の幅をそれぞれ指定していません。

その結果、最終的な tds の間に奇妙なスペースができます。画像を見つけてください: すべての tds: すべての TDS

いくつかの Td が隠されています: いくつかの td が隠されています

間にスペースを表示せずに、結果の tds を一列に並べる方法を教えてください。

4

1 に答える 1

2

次のようなマークアップがあります。

<tr>
<td><imagebutton id="img1">..</imagebutton></td>
<td><imagebutton id="img2">..</imagebutton></td>
<td><imagebutton id="img3">..</imagebutton></td>
<td><imagebutton id="img4">..</imagebutton></td>
<tr>

コードビハインドからの1つを非表示にしますimagebuttons。すなわち

   img2.Visible=false

したがって、次のようなマークアップが生成されます:(2 番目のイメージボタンを非表示にするとします)

<tr>
<td><imagebutton id="img1">..</imagebutton></td>
<td></td>
<td><imagebutton id="img3">..</imagebutton></td>
<td><imagebutton id="img4">..</imagebutton></td>
<tr>

つまり、imagebutton を保持している td が削除されることはなく、既に存在しているため、スペースが存在します。

非表示にするのではなく、td を非表示にする必要がありますimagebuttons

そのため、tds と runat="server" 属性に id を指定してください。コードビハインドからそれらを取得し、visible =false; を設定します。

またはこれを行います:

  td1.Attributes.Add("class","hide"); //where td1 is the id of a td

スタイルシートまたはデザイナーの.hidecss クラスは次のようになります。

.hide
{
   display:none;
}
于 2013-04-09T08:04:06.080 に答える