HTMLEncodes图像URL并打破图像

时间:2014-12-23 06:42:57

标签: c# html asp.net webforms

我有简单的脚本,我保存新闻详情,如News Title, News URL and News Image URL。我注意到,当具有Unicode字符时,图像不会显示http://www.bbj.hu/images2/201412/párizsi_ud_20141218113410452.jpg

它按原样存储在数据库中,但当我在网页中显示它时&显示为 http://www.bbj.hu/images2/201412/pa%c2%b4rizsi_ud_20141218113410452.jpg

当我调试我的asp.net webform页面时,它在

背后的代码中正确显示
 protected String getImage(object imgSource)
    {
        string img = null;
        img = imgSource.ToString();
        return img; 

//调试show image url,但它在实际页面上中断         }

.aspx代码

  <asp:Image ID="NewsImage" ImageUrl='<%# getImage(Eval("NewsImageURL")) %>'  runat="server"  />

我尝试了不同的东西,但它一直显示为http://www.bbj.hu/images2/201412/pa%c2%b4rizsi_ud_20141218113410452.jpg

我该如何解决这个问题

1 个答案:

答案 0 :(得分:0)

您的问题的解决方案必须属于以下一项或多项:

C#URL编码/解码:

string encodedUrl = HttpUtility.UrlEncode(myUrl);
string sameMyUrl = HttpUtility.UrlDecode(encodedUrl);

Javascript网址编码/解码:

function myFunction() {
    var uri = myUrl;
    var uri_enc = encodeURIComponent(uri);
    var uri_dec = decodeURIComponent(uri_enc);
}

C#HTML Encode / Decode:

string encodedHtml = HttpUtility.HtmlEncode(myHtml);
string sameMyHtml = HttpUtility.HtmlDecode(encodedHtml);

Javascript HTML Encode / Decode:

function htmlEncode(value) {
     //create a in-memory div, set its inner text (which jQuery automatically encodes)
     //then grab the encoded contents back out. The div never exists on the page.
     return $('<div/>').text(value).html();
}

function htmlDecode(html) {
    return $('<div>').html(html).text();
}