我從一個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 []。它被串起來了。