Je reçois l'erreur suivante
Les méthodes de liaison de données telles que Eval (), XPath () et Bind () ne peuvent être utilisées que dans le contexte d'un contrôle de databound.
mais tout ce que j'essaie de faire est à l'intérieur d'un contrôle ASP.NET REPEATER
<% if ( Eval("Message").ToString() == HttpContext.Current.Profile.UserName) %>
<% { %>
<asp:ImageButton runat="server" etc.... />
<% } %>
La syntaxe est
<%# Eval("...") %>
Vous pourriez faire quelque chose comme
<asp:ImageButton Visible='<%# ShowImg(Eval(Container.DataItem,"Message")) %>' />
et dans votre code derrière:
boolean ShowImg(string msg)
{
return (msg == HttpContext.Current.Profile.UserName);
}
Une alternative est la suivante:
<asp:ImageButton runat="server" Visible='<%# Eval("Message").ToString() == HttpContext.Current.Profile.UserName %>' />
Ensuite, il n'y a pas besoin de code derrière.
C'est trop tard mais j'aimerais y répondre à ma manière, ce que j'ai utilisé pour y arriver:
<%# Eval("Message").toString()== HttpContext.Current.Profile.UserName)?"<asp:ImageButton runat="server" etc.... />" :""%>
Maintenant, cela ne montrera le bouton d'image que si Message est égal au nom d'utilisateur.
Cela pourrait aider quelqu'un d'autre dans la même situation.
Dans ma situation, je devais vérifier la chaîne vide et vide ... alors j'ai implémenté comme ceci ci-dessous:
<%# Eval("DateString")!= null && Eval("DateString")!= ""? "<span class='date'>"+Eval("DateString") + "</span>":"" %>
Merci
Une autre façon de l'implémenter:
public string nonImage() {
string imgTag = "", Article_OwnerID = "", Article_ID = "", Article_OwnerType = "", imgSrc = "";
DataTable DtArticles = SE_Article.GetArticlesList(UserID, UserID, ProfileType, CounterOfPage, CountPerPage, (short) SE_Action.OwnerType.user, SE_Security.CheckInjection(TxtSearch.Text.Trim()), CategoryID, "all_articles", DrpOrderBy.SelectedValue, DrpSort.SelectedValue);
if (DtArticles != null && DtArticles.Rows.Count > 0) {
Article_OwnerID = DtArticles.Rows[0]["Article_OwnerID"].ToString();
Article_ID = DtArticles.Rows[0]["Article_ID"].ToString();
Article_OwnerType = DtArticles.Rows[0]["Article_OwnerType"].ToString();
}
if (SE_Article.GetArticleCover(Convert.ToInt32(Article_OwnerID), Convert.ToInt32(Article_ID), Convert.ToInt16(Article_OwnerType)) != System.Configuration.ConfigurationManager.AppSettings["NoPhotoArticleThumb"]) {
imgSrc = SE_Article.GetArticleCover(Convert.ToInt32(Article_OwnerID), Convert.ToInt32(Article_ID), Convert.ToInt16(Article_OwnerType));
imgTag = "<img class='img_article_cover' src='" + imgSrc + "' alt='مقاله" + Article_ID + "' />";
}
return imgTag;
}
<% nonImage(); %>