【问题标题】:How to enable visibility panel on the site如何在网站上启用可见性面板
【发布时间】:2013-11-09 16:59:26
【问题描述】:

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

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);
}

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

【问题讨论】:

  • 您确定要进入if 声明吗?
  • 是的。我对“患者”还有其他 if 语句,效果很好。我没有改变那里的可见性控制,但这很好用。
  • 为什么要在 masterpae 中找到它?就这样做:PanelVisits.Visible = true;.

标签: c# asp.net gridview panel


【解决方案1】:

您需要将面板放置在 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();

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

【讨论】:

    猜你喜欢
    • 2015-01-04
    • 1970-01-01
    • 1970-01-01
    • 2016-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-16
    • 1970-01-01
    相关资源
    最近更新 更多