在asp控件中循环锚点

时间:2014-02-25 15:13:56

标签: asp.net web hyperlink user-controls anchor

我使用下面的代码控制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。

有什么建议吗?

1 个答案:

答案 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/