水平レイアウトのコントロールがあり、ユーザーに基づいて XML ファイルによってデータが提供されます。localhost からページを起動すると、HOME ノードのマウスオーバーが jQuery スクリプトに置き換えられます。メニューの別のノードをクリックすると、ページがレンダリング (ポストバック) されますが、スクリプトはホーム メニュー ノードの HREF を置き換えません。
Menu コントロールのソースは次のように表示されます。
<ul class="level1">
<li>
<a class="level1" href="#" onclick="__doPostBack('ctl00$Menu1','Home')">Home</a></li>
<li><a class="level2" href="default.aspx">Sales</a><ul class="level3">
ASPX ページに次のスクリプトがあります。
<script src="Scripts/jquery-latest.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$('.level1').attr('href', 'http://www.google.com')
});
</script>
メニューをクリックするたびにスクリプトを起動するにはどうすればよいですか?
** 私はこれがハックな解決策かもしれないことを理解しています. サイトマップファイルは私の目的に合わないので、メニューのトップノードにURLを設定できないという制限を回避しようとしています(https://stackoverflow.com/questions/19797424/setting- url-of-top-node-in-aspmenu-control )。