单击按钮隐藏 ListView

Hide a ListView on a button click

我的 ASP.NET 4.5 WebForms 应用程序,我有一个 .在它上面我有一个 LinkBut​​ton 到 Show/Hide LinkView。但是 ListView 的 Visible 状态并没有改变,它总是可见的。这是我的代码:

      <asp:LinkButton runat="server" Visible="true" ID="collapseFloorList" Text="Hide" OnClick="collapseFloorList_Click"></asp:LinkButton>

    <asp:Panel ID="floorPanel" runat="server" >

    <asp:ListView runat="server" ID="floorList" 
         ItemType="VincitoreCRMApplication.Models.FloorPattern"
         UpdateMethod="floorList_UpdateItem" DeleteMethod="floorList_DeleteItem"
         SelectMethod="floorList_GetData" DataKeyNames="FloorPatternId" 
         Visible='<%# ShowFloorList %>' >

在代码隐藏中,我在名为 ShowFloorList 的页面中有一个 属性 :

    public bool ShowFloorList { get; set; }
    protected void Page_Init(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            ShowFloorList = true;
        }

    }

    protected void collapseFloorList_Click(object sender, EventArgs e)
    {
        System.Diagnostics.Debug.WriteLine("COLLAPSE FLOOR BTN Click Floor List State = " + floorList.Visible + "  BTN TEXT = " + collapseFloorList.Text );

        if (collapseFloorList.Text == "Hide") // Requesting to Hide i.e. Visible to make false
        {
            System.Diagnostics.Debug.WriteLine("INSIDE HIDE");
            ShowFloorList = false;
            System.Diagnostics.Debug.WriteLine("SHOWFLOOR LIST = " + ShowFloorList);
        }
        else
            ShowFloorList = true;
        /*
        if (ShowFloorList == false)
        {
            collapseFloorList.Text = "Show";
            ShowFloorList = false;
            //floorPanel.Visible = false;
            //floorList.Visible = false;
        }
        {
            collapseFloorList.Text = "Hide";
            ShowFloorList = true;
            floorPanel.Visible = true;
            //floorList.Visible = true;
        } */
    }

日志:

 COLLAPSE FLOOR BTN Click Floor List State = True  BTN TEXT = Hide
 INSIDE HIDE
 SHOWFLOOR LIST = False

我尝试让 floorLsit 直接可见到 false,将它添加到面板中并使面板可见,现在又通过 属性 但没有任何效果。

你能告诉我为什么无法隐藏 Listview 吗?? 非常感谢任何帮助。

谢谢

我的网络表单有点生疏,但我认为您需要:

Visible="ShowFloorList"

有可能Link按钮实际上是一个link按钮,那么!IsPostBack总是false,你试过把Link按钮改成asp按钮吗?

编辑

我已经为您创建了一个示例项目,打开这个项目不是作为项目而是作为网站
Sample scrollTo and Toggle in jquery
如有疑问,请不要犹豫。