J'ai un répéteur qui doit afficher une valeur de champ lié uniquement s'il existe. Ayant lu this post j'ai décidé de le faire en utilisant un littéral dans mon répéteur et en utilisant le déclencheur OnItemDatabound pour remplir mon littéral mais mon littéral ne semble pas être accessible depuis le code C# derrière et je ne comprends pas pourquoi!Numéro littéral nul
Heres la page ASPX
<asp:Repeater runat="server" ID="rpt_villaresults" OnItemDataBound="checkForChildren">
<HeaderTemplate>
</HeaderTemplate>
<ItemTemplate>
//.................MORE CODE HERE......................
<div class="sleeps"><h4>To Sleep</h4><h5><%#Eval("sleeps")%> <asp:Literal ID="sleepsChildrenLit" runat="server" /> </h5></div>
//.............MORE CODE HERE........................
Et le code derrière
public void checkForChildren(object sender, RepeaterItemEventArgs e)
{
Literal childLit = e.Item.FindControl("sleepsChildrenLit") as Literal;
//this is null at runtime
String str = e.Item.DataItem.ToString();
if (e.Item.DataItem != null)
{
if (Regex.IsMatch(str, "[^0-9]"))
{
if (Convert.ToInt32(str) > 0)
{
childLit.Text = " + " + str;
}
}
}
}
grands esprits se;) Merci –