如何从asp.net中的服务器端方法返回一个url?

时间:2012-02-03 22:29:58

标签: asp.net server-side html-encode

我们花了很多时间的简单问题。我们有一个服务器端函数,可以为图像创建一个URL(类似于一个gravatar identicon),但它的输出是html endcoded,这可能会导致一些问题。

...
<asp:image ID="Image1" runat="server" ToolTip='<%# Eval("UserID") %>' ImageUrl= '<%= GetURL(Eval("UserID").ToString()) %>'></asp:image>
...

我们最终得到:

 <img id="Image1" title="123456789" src=""http://www.ourwebsite.com/image/123456789&amp;s=128&amp;s=identity&amp;p=userid"/>

2 个答案:

答案 0 :(得分:1)

您可以直接在页面上或GetURL方法中添加对HttpServerUtility.Decode()的调用。

ImageUrl= '<%= HttpServerUtility.Decode(GetURL(Eval("UserID").ToString())) %>'

答案 1 :(得分:0)

通过在后面的代码中分配图像URL,可以避免编码的一种方法:

Image1.ImageUrl = GetURL(userId);