2015-03-23 5 views
0

Я использую приложение ASP.NET 4.5 WebForms, у меня есть. Над ним у меня есть LinkButton, чтобы показать/скрыть LinkView. Но somw, как видимое состояние ListView не изменяется только, оно всегда видно. Вот мой код:Скрыть списокView на кнопке

 <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 непосредственно видна ложь , добавив его в панель &, делая панель видимой, и теперь свойство alos thru, но ничего не работает.

Можете ли вы рассказать мне, почему не удается скрыть список? Любая помощь очень ценится.

Благодаря

ответ

0

Это может быть, что кнопка Link на самом деле ссылка, то IsPostBack всегда ложно, вы пробовали изменения LinkButton в asp Button?

EDIT

Я создал образец проекта для вас, откройте этот проект не как проект, а как WebSite
Sample scrollTo and Toggle in jquery
Пожалуйста, не стесняйтесь, если у вас есть вопросы.

+0

Да, я попытался изменить его на asp: Button alos. Но такие же результаты. Нажатие кнопки запускает отображение ShowFloorList в false, но видимость ListView не превращается в false. Это еще только видимо. – Tvd

+0

Хмм, я думаю, вы не должны размещать Visible = '<% # ShowFloorList%>', встроенный в список. Если вы хотите контролировать отображение списка, попробуйте сделать это прямо. 1. На странице загрузки внутри! IsPostBack вручную установить listview.Visible = истина 2. На кнопку мыши, вручную установить listview.visible = ложь попробовать, что, благодаря –

+0

Спасибо за это. Первоначально я делал только этот путь, но это не работало, поэтому я пошел с панелью и, наконец, таким образом <%# %>. Вероятно, в начальном состоянии, я должен делать что-то не так с условием if..else, из-за которого он не работает. Или, может быть, я не добавил его в if (! IsPostBack). Спасибо за ваше решение. – Tvd

0

Мой WebForms немного ржавый, но я думаю, что вам нужно:

Visible="ShowFloorList" 
Смежные вопросы