0

В GridView будут перечислены строки, которые должны быть одобрены/отклонены. Первый столбец называется «Action», который при нажатии будет отображать панель popupcontrolextender ajax с двумя ссылками (Approve/Reject). После щелчка ссылки мне нужно обновить статус в БД &, обновить GridView. ObjectDataSource используется для привязки GridView. Я использовал следующий код внутри RowCommand события:PopupControlExtender внутри Gridview не закрывается

Dim index As Integer = Convert.ToInt32(e.CommandArgument) 
Dim gvRow As GridViewRow = GridView1.Rows(index) 

If e.CommandName = "Approve" Then 
    BusinessLogicLayer.UpdateFileStatus(sID, Approve) 
ElseIf e.CommandName = "Reject" Then 
    BusinessLogicLayer.UpdateFileStatus(sID, Reject) 
End If 

GridView1.DataBind() 
DirectCast(gvRow.FindControl("pceMenu"), AjaxControlToolkit.PopupControlExtender).Cancel() 

HTML в 'Action' в TemplateField:

<asp:TemplateField HeaderText="Action" > 
    <ItemTemplate> 
    <ajax:PopupControlExtender ID="pceMenu" runat="server" TargetControlID="imgMenu" PopupControlID="pnlMenu" Position="Right" > 
    </ajax:PopupControlExtender> 
    <asp:Image ID="imgMenu" runat="server" ImageUrl="~/Images/gear.png" CssClass="popupImage" /> 
    <asp:Panel ID="pnlMenu" runat="server" CssClass="popupControl" Width="85px" Height="50px" style="display:none;"> 
     <div class="menu-row" style="border-top: none;"> 
     <asp:Image ID="imgApprove" runat="server" ImageUrl="~/Images/tick.png" style="float:left;"/> 
     <asp:LinkButton ID="lnkApprove" runat="server" Text="Approve" ToolTip="Approve" style="margin-left:10px;" CommandName="Approve" /> 
     </div> 
     <div class="menu-row"> 
     <asp:Image ID="imgReject" runat="server" ImageUrl="~/Images/delete16.png" style="float:left;"/> 
     <asp:LinkButton ID="lnkReject" runat="server" Text="Reject" ToolTip="Reject" style="margin-left:10px;" CommandName="Reject" /> 
     </div> 
    </asp:Panel> 
    </ItemTemplate> 
    <HeaderStyle HorizontalAlign="Left"/> 
    <ItemStyle HorizontalAlign="Center" Width="5%"/> 
</asp:TemplateField> 

Попробованная ниже методы, но не успех:

  • Подавить панель-х видимость с помощью стиля = "display: '';"
  • Вызывается метод Cancel() из PopupControlExtender

Примечание: Всплывающее исчезает, если я не связать GridView внутри события RowCommand. Но мне нужно обновить результаты, отображаемые после Approve/Reject.

Цените любую помощь. Благодаря!

+1

Ницца первый пост! Но не могли бы вы уточнить свой вопрос в теле вашего поста, чтобы помочь другим понять, что именно вы спрашиваете? Вы всегда можете обновить свой вопрос. Добро пожаловать в переполнение стека, рекомендуемое чтение: http://stackoverflow.com/help/how-to-ask –

ответ

 Смежные вопросы

  • Нет связанных вопросов^_^