我使用下面的代码控制asp.net。我将这个控件嵌入到20页的粗体中,以便每次我想添加一个链接时都不会更新所有页面。
<ul>
<li class="first"><a href="GenericNewForm.aspx">Trade blotter entry</a></li>
<li><a href="BlotterList.aspx">Trade blotter list</a></li>
<li><a href="TradeReviewAndUpdate.aspx">Trade review and update</a></li>
<li><a href="TradeVWAPUpdate.aspx">Trade VWAP Update</a></li>
<li><a href="CSATradeBlotter.aspx">CSA Trade blotter entry</a></li>
<li><a href="CSARulesForm.aspx">CSA Rules Screen</a></li>
<li><a href="WebBlotter.aspx">Trade Blotter manager</a></li>
<li><a href="Default.aspx" accesskey="3" title=""><span style="text-transform: uppercase">
s</span>ign out</a></li>
</ul>
我想要做的是遍历Page_Load上的所有超链接,找到具有与当前页面的url匹配的url的锚点并隐藏相应的li。
有什么建议吗?
答案 0 :(得分:1)
我有一个可能有效的非ASP.NET解决方案。 jQuery会为你工作吗?
<ul>
<li class="first"><a href="GenericNewForm.aspx">Trade blotter entry</a></li>
<li><a href="BlotterList.aspx">Trade blotter list</a></li>
<li><a href="TradeReviewAndUpdate.aspx">Trade review and update</a></li>
<li><a href="TradeVWAPUpdate.aspx">Trade VWAP Update</a></li>
<li><a href="CSATradeBlotter.aspx">CSA Trade blotter entry</a></li>
<li><a href="CSARulesForm.aspx">CSA Rules Screen</a></li>
<li><a href="WebBlotter.aspx">Trade Blotter manager</a></li>
<li><a href="_display" accesskey="3" title=""><span style="text-transform: uppercase">s</span>ign out</a></li>
</ul>
然后使用这个jQuery:
$(document).ready(function(){
var pageName= location.pathname.split('/')[1];
console.log('current page: ' + pageName);
$("a").each(function(idx, el){
console.log(el.href);
var page = el.href.substring(el.href.lastIndexOf('/') + 1);
if(page == pageName)
$(el).addClass('hideMe');
});
});
有些css:
.hideMe{
background-color: yellow;
}
请参阅此处的小提琴:http://jsfiddle.net/rodhartzell/QVMxz/