Kald metode med Dynamisk data(Eval)
Hej e.Jeg har denne metode:
protected string Gravatar(string email, int size)
{
System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
byte[] result = md5.ComputeHash(Encoding.ASCII.GetBytes(email));
System.Text.StringBuilder hash = new System.Text.StringBuilder();
for (int i = 0; i < result.Length; i++)
hash.Append(result[i].ToString("x2"));
System.Text.StringBuilder image = new System.Text.StringBuilder();
image.Append("<img src=\"");
image.Append("http://www.gravatar.com/avatar.php?");
image.Append("gravatar_id=" + hash.ToString());
image.Append("&rating=R");
image.Append("&size=" + size);
image.Append("&default=");
image.Append(Server.UrlEncode("http://example.com/noavatar.gif"));
image.Append("\" alt=\"\" />");
return image.ToString();
}
Den kalder jeg på denne måde:
<%=Gravatar("email@email.dk", 80)%>
Dette virker super.
Men nu vil gerne benytte den i en datalist.
Den måde jeg normalt udskriver data på er som vist her:
<asp:Label ID="lblForfatter" runat="server" Text='<%# Eval("Forfatter") %>' />
Men hvis jeg prøver det tilsvarende på denne metode:
<%=Gravatar(Eval("ReplyEmail").ToString(), 80)%>
Så kommer denne fejl:
Databinding methods such as Eval(), XPath(), and Bind() can only be used in the context of a databound control
Er her en som ved hvad man gør ved det?
Mvhj
Jakob