2010-11-26 5 views
0

Моего ретранслятора:Как получить доступ к ItemTemplate управления от ItemCommand события с помощью Repeater

<asp:Repeater ID="rptrContacts" runat="server" OnItemCommand="rptrContact_ItemCommand" > 

<div ID="itemTemplate> 
<ItemTemplate> 
<%# Eval("Name") %> 
<%# Eval("Email") %> 
<asp:LinkButton ID="lbtnEditContact" runat="server" CommandName="Edit" Text="Edit" CommandArgument='<%# Eval("ContactID") %>' /> 
<asp:Label ID="lblUpdateConfirm" runat="server" Text="Update Confirmed" Visible="false" /> 
</ItemTemplate> 
</div> 

<div ID="editTemplate runat="server" visibility="false"> 
Update your Info:<br> 
Name: <asp:TextBox ID="txtName" runat="server Text="<%# Eval("Name") %>"/> <br> 
Email: <asp:TextBox ID="txtEmail" runat="server Text="<%# Eval("Email") %>"/><br> 
<asp:LinkButton ID="lbtnUpdateContact" CommandArgument='<%# Eval("ContactID") %>' CommandName="UpdateContact" runat="server" >Update</asp:LinkButton> 
</div> 

</asp:Repeater 

и код для ItemCommand:

switch(e.CommandName) 
{ 
case "Edit": 
//make editTemplate div visible 
HtmlGenericControl divEditContact = (HtmlGenericControl)e.Item.FindControl ("divEditContact"); 
divEditContact.Visible = true; 
break; 

case "Update": 
Employee updateEmployee = new Employee 
     { 
      employeeName = txtName.Text: 
      employeeEmail = txtEmail.Text: 
     } 

updateEmployee = API.UpdateEmployee(updateEmployee); 

      //display lblUpdateConfirm visible to True 
     // so user sees this confirm messge in the newly updated ItemTemplate 

} 

Как я могу получить доступ к lblUpdateConfirm и превратить его текст состояние видимых изнутри ItemCommand, так что, когда пользователь увидит обновленный ITemTemplate, на этикетке отображается сообщение «Обновить подтвержденное»?

ответ

2

VB:

CType(e.Item.FindControl("lblUpdateConfirm"), Label).Visible = True; 

C#:

Label lblToMakeVisible = (Label)e.Item.FindControl("lblUpdateConfirm"); 
lblToMakeVisible.Visible = True; 
+0

Хммм. Не работает. VS2010 говорит: «Невозможно разрешить символ« CType ». Я поместил вашу строку кода сразу после обновления в событие ItemCommand. Любые другие идеи оценены. – Doug 2010-11-26 20:28:13