如何在网站上启用可见性面板

时间:2013-11-09 16:59:27

标签: c# asp.net gridview panel

我有一个大问题。我在网站上有一个面板和一个gridview。面板在gridview之外。我想做这样的事情:

protected void GridViewProfile_RowDeleting(object sender, GridViewDeleteEventArgs e)
{   
    String userName = GridViewProfile.Rows[e.RowIndex].Cells[2].Text.ToString();
    if (Roles.IsUserInRole(userName, "Doctor"))
    {
        ContentPlaceHolder contentPlaceHolder = (ContentPlaceHolder)this.Page.Master.FindControl("ContentPlaceHolder1");
        ((Panel)contentPlaceHolder.FindControl("PanelVisits")).Visible = true;
    }
    Membership.DeleteUser(userName, true);
}

不幸的是,它不起作用。当我点击“删除”按钮时,面板不可见。为什么?请帮我写正确的代码。

1 个答案:

答案 0 :(得分:0)

您需要将面板放在UpdatePanel中,如下例所示:

<asp:UpdatePanel runat="server" ChildrenAsTriggers="False"        
    ID="UpdatePanel1"        
    UpdateMode="Conditional">
    <ContentTemplate>
        <!-- Your panel markup here -->
    </ContentTemplate>
</asp:UpdatePanel>

然后在服务器端将您的代码更新为以下内容:

((Panel)contentPlaceHolder.FindControl("PanelVisits")).Visible = true;
UpdatePanel1.Update();

这将在客户端应用更改,因为更新面板将会更新。