I am using a TabContainer control which contains a usercontrol which is dynamically rendered depending upon selected tab. Inside usercontrol I have a repeater which contains a checkbox,label and hidden field. I am updating/changing the values of these fields inside itemdatabound event.
Everything is working fine when page loads first time but after that if I rebind the repeater then only label values are changing and checkbox/hiddenfield containing some old values.
I am not using any updatepanel at all. Please suggest what I am doing wrong.Below is my code snippet inside itemdatabound.
protected void rptrIngrList_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
try
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
SimpleIngredientObject currentItem = e.Item.DataItem as SimpleIngredientObject;
HiddenField hiddenIngrId = (HiddenField)e.Item.FindControl("hdnIngrId");
hiddenIngrId.Value = currentItem.IngredientId.ToString();
HiddenField hdnAltIngrId = (HiddenField)e.Item.FindControl("hdnAltIngrId");
hdnAltIngrId.Value = currentItem.IngrAltId.ToString();
HtmlGenericControl span = (HtmlGenericControl)e.Item.FindControl("abcd");
if (currentItem.UserIngrAvailability == 0 || currentItem.UserIngrAvailability == null)
span.InnerText = GetAvailabilityChar(currentItem.IngrAvailabilityId);
else
span.InnerText = GetAvailabilityChar(currentItem.UserIngrAvailability);
Label lblIngrName = (Label)e.Item.FindControl("LabelIngredientName");
lblIngrName.Text = currentItem.IngredientName;
CheckBox chkIngrUse = (CheckBox)e.Item.FindControl("chkIngrUsage");
// chkIngrUse.Checked = (currentItem.IngrMarked == null) ? false : (currentItem.IngrMarked == true) ? true : false;
chkIngrUse.Checked = Convert.ToBoolean(System.Web.UI.DataBinder.Eval(e.Item.DataItem, "IngrMarked"));
}
}
Aucun commentaire:
Enregistrer un commentaire