我的ASP.NET 4.5 WebForms应用程序,我有一个。在它上面我有一个LinkButton来显示/隐藏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 %>' >
在Code Behind中,我在PAge中有一个名为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吗? 任何帮助都非常感谢。
由于
答案 0 :(得分:0)
我的网络形式有点生疏,但我认为你需要:
Visible="ShowFloorList"
答案 1 :(得分:0)
可能是Link按钮实际上是一个链接,然后!IsPostBack始终为false,您是否尝试将LinkButton更改为asp按钮?
修改
我为您创建了一个示例项目,打开此项目不是作为项目而是作为WebSite打Sample scrollTo and Toggle in jquery
如果您有任何疑问,请不要犹豫。