我有一个ASP.NET转发器控件中的URL:
http://www.someurl.com/test.aspx?abc=t&bd=1
当它被呈现给浏览器时,它会被编码为&
。
我们尝试使用转发器中的服务器端标签对其进行解码,但这不起作用。
我怎样才能阻止这种情况发生?
示例:
在服务器上:
http://www.someurl.com/registration?pcid=FREE15&pid=a1V80000000PQ6zEAG
在客户端:
http://www.someurl.com?pcid=FREE15&pid=a1V80000000PQ6zEAG
答案 0 :(得分:0)
@aspnetdev,下面的哪一行显示数据库中的网址是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>
如果您的行看起来像#2, 高度 建议您解码数据库中的网址,如第1行所示。如果使用#2方法,你将不断遇到问题。
使用上述转发器,第1行将如下所示:
<li><a href="http://www.example.com/?id=1&name=test">http://www.example.com/?id=1&name=test</a></li>
这实际上是无效的HTML,因为必须使用&
转义所有文字&符号
以下是第2行的显示方式:
<li><a href="http://www.example.com/?id=1&name=test">http://www.example.com/?id=1&name=test</a></li>
这是有效的HTML,不应更正。
您能详细说明我的样品或发布自己的样品吗?