为什么<a href="~/#link"> when run become </a> <a href="#link#link"> in a master page?</a>

时间:2009-09-21 14:43:33

标签: asp.net master-pages

我从未见过这个问题而且我不知道是什么导致了这个问题。

我的主页

中有这样的代码
<div class="myClass1">
    <a href="~/#link" runat="server" title=" <%$ Resources: myRess1 %>">
        <asp:Literal runat="server" Text="<%$ Resources: myRess1 %>" /><br />
        <img class="myClass2" src="/MasterPage/images/myGif.gif" width="19"  height="12" alt="" />
    </a>
</div>

当我浏览使用此母版页的页面时,代码变为

<div class="myClass1">
    <a href="#link#link" title="myTitle">
        myTitle<br />
        <img class="myClass2" src="/MasterPage/images/.gif" width="19" height="12" alt="" /><br />
    </a>
</div>

为什么链接会自行加倍?

如果我使用default.aspx而不是#link,它可以很好地工作。

我之所以使用“〜/”是因为母版页位于其他地方,如果我不放〜/它使链接为/ masterpage / #link无效

3 个答案:

答案 0 :(得分:2)

~/不是必需的。只需使用#link

即可

答案 1 :(得分:1)

'〜'只能用于服务器控件而不能用于html控件。你应该使用href =“#link”。

答案 2 :(得分:0)

现在我改变了我的

<a href="~/#link" runat="server" title=" <%$ Resources: myRess1 %>">

<a href="#link" title="<%=GetLocalResourceObject("myRess1 ") %>">

并且它工作正常但是如果有人能告诉我为什么用runat =“server”搞砸了#link,那会很高兴知道