@aspnetdev, 아래 행이 URL은 데이터베이스, 1 또는 2에서의 모습을 보여 준다?
---------------------------------------------------
| ID | URL |
---------------------------------------------------
| 1 | http://www.example.com/?id=1&name=test |
| 2 | http://www.example.com/?id=1&name=test |
---------------------------------------------------
대략적인 리피터의 대략적인 값입니까?
<asp:Repeater runat="server" ID="repMain">
<HeaderTemplate>
<ul>
</HeaderTemplate>
<FooterTemplate>
</ul>
</FooterTemplate>
<ItemTemplate>
<li><a href="<%#DataBinder.Eval(Container.DataItem, "Url")%>"><%#DataBinder.Eval(Container.DataItem, "Url")%></a></li>
</ItemTemplate>
</asp:Repeater>
당신의 행 I # 2처럼 보이는 경우
매우은 행 # 1과 데이터베이스의 URL을 디코딩하는 것이 좋습니다. # 2 방법을 사용하면 끊임없이 문제가 발생합니다. 모든 문자 앰퍼샌드가
&
여기
은 행 # 2이 나타납니다 방법 사용하여 이스케이프해야하기 때문에 실제로 잘못된 HTML입니다
<li><a href="http://www.example.com/?id=1&name=test">http://www.example.com/?id=1&name=test</a></li>
: 같은 위의 리피터를 사용
, 행 # 1 볼 것이다
을
<li><a href="http://www.example.com/?id=1&name=test">http://www.example.com/?id=1&name=test</a></li>
이것은 유효한 HTML이므로 수정해서는 안됩니다.
내 샘플을 정교하게 분석하거나 자신의 게시물을 게시 할 수 있습니까?
"앰퍼샌드"를 나타냅니다. –
이것은 의도적으로 설계된 것입니다. HTML 스펙에 따라 앰퍼샌드 "&"는 단독으로 존재할 수 없습니다. http://www.w3.org/TR/xhtml1/#C_12 –
@Chris, &는 URL의 일부입니다. – aspnetdev