C# 同一位置的两个GridView

C# 同一位置的两个GridView,c#,asp.net,C#,Asp.net,我有两个GridView,即GridView1和GridView2。它们位于同一位置,我声明了一个布尔变量,即flag。当flag=false时,我想这样做,GridView1可见,GridView2不可见。当flag=true时,GridView2可见,GridView1不可见。这是我的密码 private bool flag=false; if(flag==false) { GridView1.Visible=true; GridView2.Visible=f

我有两个GridView,即GridView1和GridView2。它们位于同一位置,我声明了一个布尔变量,即flag。当flag=false时,我想这样做,GridView1可见,GridView2不可见。当flag=true时,GridView2可见,GridView1不可见。这是我的密码

private bool flag=false;  
if(flag==false)  
{  
    GridView1.Visible=true;  
    GridView2.Visible=false;  
    flag=true;  
}  
else  
{
    GridView2.Visible=true; 
    GridView1.Visible=false;
    flag=false;  
}
在运行时, 虽然GridView2不可见,但它的空间显示在GridView1下。如何一次显示网格


使用Regrads,

您可以将两个GridView都放在Div中

<div id="div1" runat="server">
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
</div>


<div id="div2" runat="server">
<asp:GridView ID="GridView2" runat="server">
</asp:GridView>
</div>

在ViewState中存储标志值

        if (ViewState["flag"] == null)
        {
            ViewState["flag"] = false;
        }

        bool flag = (bool)ViewState["flag"];

        GridView1.Visible = flag;
        GridView2.Visible = !flag;
        ViewState["flag"] = !flag;

OP的问题是,不可见的GridView的空间仍然存在,即使GridView不可见。您的代码片段没有解决该问题。感谢您的关注和回答。我同意你的代码。
        if (ViewState["flag"] == null)
        {
            ViewState["flag"] = false;
        }

        bool flag = (bool)ViewState["flag"];

        GridView1.Visible = flag;
        GridView2.Visible = !flag;
        ViewState["flag"] = !flag;