Почему <a href="~/#link"> при запуске становится <a href="#link#link"> на главной странице? - PullRequest
1 голос
/ 21 сентября 2009

Я никогда не видел этой проблемы и понятия не имею, что ее вызывает.

У меня есть что-то вроде этого кода на главной странице

<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>

почему ссылка удваивается сама по себе?

, если вместо #link поставить что-то вроде default.aspx, оно будет работать отлично.

Причина, по которой я использую "~ /", заключается в том, что главная страница находится где-то еще, если я не поставлю ~ / она сделает ссылку как / masterpage / # ссылка недействительной

Ответы [ 3 ]

2 голосов
/ 21 сентября 2009

~/ не должно быть необходимым. Просто используйте #link

1 голос
/ 21 сентября 2009

'~' может использоваться только с серверными элементами управления, но не с элементами управления html. Вы должны просто использовать href = "# link".

0 голосов
/ 21 сентября 2009

на данный момент я изменил свой

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

до

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

и он работает нормально, но если кто-то может сказать мне, почему с runat = "server" облажайте #link, это было бы полезно знать

...