asp.net
  • listview
  • data-binding
  • bytearray
  • eval
  • 2012-10-03 66 views 0 likes 
    0

    我從一個EntityDataSource構建一個ListView。有一個名爲Sha1Hash的Byte []字段,我需要將它轉換爲超鏈接的字符串類型。這是從一個的ItemTemplate代碼段:ASP.NET Eval字節數組作爲字符串

    <asp:HyperLink ID="hl_Document" runat="server" 
        NavigateUrl='<%# string.Format("~/GetDocument.ashx?docId={0}", Eval("SHA1HASH")) %>' 
        Text='<%# Eval("DOCUMENTNAME") %>' /> 
    

    這是生產像URL「〜/ GetDocument.ashx的docId = System.Byte []?」,但它需要表示的值十六進制字符串字節數組。什麼是最好的方法來實現這一目標?理想情況下,我會完全在.aspx頁面中完成此操作,而不是背後的代碼。

    更新:我用

    NavigateUrl='<%# string.Format("~/GetDocument.ashx?docId={0}", BitConverter.ToString((byte[])Eval("SHA1HASH")).Replace("-", string.Empty)) %>' 
    

    我的問題解決了這個問題是我需要投的eval()爲byte []。它被串起來了。

    回答

    0

    我用

    NavigateUrl='<%# string.Format("~/GetDocument.ashx?docId={0}", BitConverter.ToString((byte[])Eval("SHA1HASH")).Replace("-", string.Empty)) %>' 
    

    我的問題解決了這個問題是我需要投的eval()爲byte []。

    0

    根據您想要的格式,您可能正在尋找Convert.ToBase64String()BitConverter.ToHexString()

    相關問題