FC2ブログ
とあるプログラマの雑記
プログラミングTipsやリリースしたアプリについて書きます
ASP.netのMENUコントロールの描画が乱れる
.NetFramework2.0ではtableタグで出力されていたものが、4.0ではデフォルトでul/liタグで出力される。
しかし、こちらだとOrientation="Horizontal"にしているのにかかわらず、
ページ遷移の時に一瞬、縦並びで描画されたものが表示されてしまう。

原因は、ソースの一番下に書かれるこのscriptタグのせいのようだ。
<script type='text/javascript'>new Sys.WebForms.Menu({ element: 'menu1', disappearAfter: 300, orientation: 'horizontal', tabIndex: 0, disabled: false });</script>

menuコントロールをこれで水平に描画しなおしているようなので、これをaspxファイルのmenuタグのすぐ下にコピペすればとりあえずの描画は乱れなくなった。

.NetFramework4.0でtableタグ出力にしたい場合、RenderingMode="Table"とすればいいのだが、
こちらはこちらで使い勝手に難があり、Android2.3辺りでタッチしても子メニューがうまく開けないなどという面倒な仕様である。(onClick周りのせいのようだが)


スポンサーサイト