Как предотвратить преобразование символа & в ASP.NET при добавлении URL-адреса к атрибутам элемента управления? - PullRequest
3 голосов
/ 22 января 2010

Это то, что я добавляю, и & отображается как &

sharelink.Attributes.Add ("addthis: URL", "http://" & Request.Url.Host &" /Resources/PublicView.aspx?RID= "& R.ResourceID &" & Key = "& Key)

Мне нужно, чтобы сделать это

?RID=64&Key=%2fwEUKwEDAgQCFAJA

вместо этого

?RID=64&Key=%2fwEUKwEDAgQCFAJA

Ответы [ 2 ]

2 голосов
/ 22 января 2010

Преобразование в & является правильным, и браузеры должны быть в состоянии справиться с этим.

Источник

Чтобы доказать это, посмотрите на источник этой гиперссылки .

РЕДАКТИРОВАТЬ : Для объяснения, это правильный способ сделать это. Запись <a href="a.com?b=c&d=e"> это неправильно . Так же, как ASP.Net будет использовать сущности, если вы напишите <asp:Label runat="server" Text="><><" />, он также будет использовать сущности, если вы поместите амперсанд в атрибут.

0 голосов
/ 22 января 2010

Я публикую этот комментарий как ответ из-за ограничений в комментировании.

Я согласен с ответом SLaks , особенно это касается строгого соответствия XHTML.

Я создал демонстрационную страницу с & и &amp;, которую можно использовать для проверки W3C.

См. Демонстрационную страницу по адресу http://74er.net/labs/amp-or-not.html и щелкните самую нижнюю гиперссылку, чтобы выполнить проверку w3c, или нажмите здесь, чтобы выполнить проверку напрямую .

Ошибки будут выделены, все они нацелены на строку 14:

href="http://www.google.com/search?q=stackoverflow&ie=UTF-8"

В то время как аналогичный в строке 19 с &amp; пройдет:

href="http://www.google.com/search?q=stackoverflow&amp;ie=UTF-8"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...