即使绑定后,Gridview也不可见

问题描述

| 我陷入了某种奇怪的状况,即我在ajax工具包tabcontainer内有一个gridview。在选项卡索引更改上,我绑定网格。但是什么也没发生。网格未出现。我检查了以下内容 观看状态 网格的可见性 父表的可见性。 数据来自方法 标签面板的可见性 甚至我已经调试并添加了watch,以在加载页面之前检查其是否为null。 请帮帮我 **下面是更新的代码**
    <HTMLCode>
     <Toolkit:TabPanel HeaderText=\"Pending Challans\" ID=\"tpPendingChallan\" runat=\"server\" Height=\"200px\" >
     <ContentTemplate>
      <table style=\"width: 100%\">
        <tr>
          <td>
            <asp:GridView ID=\"gvPendingChallans\"  runat=\"server\" AutoGenerateColumns=\"True\"  CellPadding=\"4\" Width=\"100%\"  OnPageIndexChanging=\"gvPendingChallans_PageIndexChanging\" 
        OnRowCommand=\"gvPendingChallans_RowCommand\" AllowPaging=\"True\"  GridLines=\"None\">
            </asp:GridView>
            </td>
          </tr>
         </table>
    </ContentTemplate>
  </Toolkit:TabPanel>
    </HTMLCode>
================================================== ======================
 <C#>
      private void BindPendingChallans()
            {
                var dat = JobCardManager.displayChallan();
                gvPendingChallans.DataSource = dat;
                gvPendingChallans.DataBind();
            }
     protected void tcmembers_ActiveTabChanged(object sender,EventArgs e)
    {
        if(tcmembers.ActiveTabIndex == 6)
        {
            BindPendingChallans();
        }
    }
    </C#>
    

解决方法

抱歉,我的第一个答案未解释您的代码。我认为这只是网格视图的简单填充,但是经过审查,我发现您正在使用Ajax Toolkit库,并且网格位于选项卡中。您可以尝试以下方法:
<%@ Page Language=\"C#\" AutoEventWireup=\"true\" CodeFile=\"Default.aspx.cs\" Inherits=\"_Default\" %>
<%@ Register Assembly=\"AjaxControlToolkit\" Namespace=\"AjaxControlToolkit\" TagPrefix=\"Toolkit\" %>
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\">
<head id=\"Head2\" runat=\"server\">
    <title>Untitled Page</title>
    <style type=\"text/css\">
        .style1
        {
            font-family: Arial;
            color: #3399FF;
        }
    </style>
</head>
<body class=\"style1\">
    <form id=\"form1\" runat=\"server\">
    <asp:ScriptManager ID=\"ScriptManager2\" runat=\"server\" EnablePageMethods=\"true\" />
    <div>
        <asp:UpdatePanel ID=\"upMember\" runat=\"server\" UpdateMode=\"Conditional\">
            <ContentTemplate>
                <table cellpadding=\"1\" cellspacing=\"4\" border=\"0\" width=\"100%\">
                    <tr>
                        <td>
                            <Toolkit:TabContainer ID=\"tcMembers\" runat=\"server\" AutoPostBack=\"true\" 
                                ActiveTabIndex=\"0\" onactivetabchanged=\"tcMembers_ActiveTabChanged\">
                                <Toolkit:TabPanel HeaderText=\"Pending Challans\" ID=\"tpPendingChallan\" runat=\"server\"
                                    Height=\"200px\">
                                      <ContentTemplate>
                                        <asp:GridView ID=\"gvPendingChallans\" runat=\"server\" AutoGenerateColumns=\"True\" CellPadding=\"4\"
                                            Width=\"100%\" OnPageIndexChanging=\"gvPendingChallans_PageIndexChanging\" OnRowCommand=\"gvPendingChallans_RowCommand\"
                                            AllowPaging=\"True\" GridLines=\"None\">
                                        </asp:GridView>
                                    </ContentTemplate>
                                </Toolkit:TabPanel>
                                 <Toolkit:TabPanel HeaderText=\"Pending 2\" ID=\"tpPending2\" runat=\"server\"
                                    Height=\"200px\">
                                       <ContentTemplate>
                                        <asp:GridView ID=\"GridView1\" runat=\"server\" AutoGenerateColumns=\"True\" CellPadding=\"4\"
                                            Width=\"100%\" OnPageIndexChanging=\"gvPendingChallans_PageIndexChanging\" OnRowCommand=\"gvPendingChallans_RowCommand\"
                                            AllowPaging=\"True\" GridLines=\"None\">
                                        </asp:GridView>
                                    </ContentTemplate>
                                </Toolkit:TabPanel>
                            </Toolkit:TabContainer>
                        </td>

                        <td width=\"2%\">
                            &nbsp;
                        </td>
                    </tr>
                </table>
            </ContentTemplate>
        </asp:UpdatePanel>
    </div>
    </form>
</body>
</html>
然后在您的代码后面:
protected void Page_Load(object sender,EventArgs e)
    {
        upMember.Update();
    }
    private void BindPendingChallans()
    {
        //var dat = JobCardManager.DisplayChallan(); 
        //gvPendingChallans.DataSource = dat; gvPendingChallans.DataBind(); 
    }
    protected void tcMembers_ActiveTabChanged(object sender,EventArgs e)
    {
        if (tcMembers.ActiveTabIndex == 6)
        {
            BindPendingChallans();
        }
    }
    protected void gvPendingChallans_PageIndexChanging(object sender,GridViewPageEventArgs e){
    }
    protected void gvPendingChallans_RowCommand(object sender,GridViewCommandEventArgs e){
    }
注意:在\ tcMembers_ActiveTabChanged \中,您已指定标签索引6       Tab索引以0开头。也许您可以根据       您打算使用的标签...。 问候,