私のアプリケーションには垂直メニューがあります。各メニューはリンクボタンです。これらのリンクボタンはhtmlテーブルセル内に配置さ れ、ASP.NETコードの後ろ<td>
に作成して配置しました。
メニューを作成するために私が行うmenuCell.Controls.Add(newMenu);
sumenusを持つリンクをクリックすると、これはメインリンクボタンの下に表示されます。
もう一度クリックすると、サブメニューは非表示になる必要がありますが、サブメニューが取った場所はそこにとどまります。私はjqueryでそれを行います:
function toggleSubMenu(smenu) {
$('.'+smenu').toggle();
}
Menu2とMenu3の間の空白部分を見てください。
したがって、主な目的はこのスペースを削除することです。自動的に作成するAsp.NETプレースホルダーまたはコンテナーはありますか?または、jQueryを使用してMenu3とその下のすべてを手動で上に移動する必要がありますか?
完全なhtmlコード:MenuCellはメニューを保持します。この場合も、各メニューが作成され、ASP.NETコードビハインドに配置されます。
<body MS_POSITIONING="Gridlayout">
<!-- Logo -->
<form id="Menu" method="post" runat="server">
<table id="mainTable" style="Z-INDEX: 101; LEFT: 0px; POSITION: absolute; TOP: 0px" tabIndex="-1" height="800" cellSpacing="0" cellPadding="0" border="0" runat="server" width="125px">
<tr align="left">
<td style="WIDTH: 125px" tabIndex="-1" vAlign="bottom" align="middle" colSpan="2" height="55"><IMG id="imgLogo" tabIndex="-1" height="50" width="50" align="middle" border="0" runat="server">
</td>
</tr>
<TR>
<TD style="WIDTH: 125px" vAlign="top" align="middle"></TD>
<TD vAlign="top" align="left" colSpan="1" rowSpan="2"><IMG id="imgLine" style="WIDTH: 1px" height="720" hspace="0" width="1" vspace="0" border="0" runat="server"></TD>
</TR>
<tr align="left">
<td id="menuCell" style="WIDTH: 125px" tabIndex="-1" vAlign="top" align="left" height="740" runat="server"></td>
</tr>
</table>
</form>
</body>
プライバシーポリシーのため、レンダリングされたコード全体を配置することはできませんが、各メニューとサブメニューのリンクは、名前付き:<a>
内のようにレンダリングされます。<td>
menuCell
レンダリングされたコードは次のとおりです。
<td id="menuCell" style="WIDTH: 125px" tabIndex="-1" valign="top" align="left" height="740">
<a id="Menu1" style="width:124px;LEFT:1px;TOP:8px;POSITION:relative;">Menu1</a>
<br />
<a id="Menu6" style="width:124px;LEFT:1px;TOP:11px;POSITION:relative;">Menu6</a>
<br />