Я использую приложение 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, но ничего не работает.
Можете ли вы рассказать мне, почему не удается скрыть список? Любая помощь очень ценится.
Благодаря
Да, я попытался изменить его на asp: Button alos. Но такие же результаты. Нажатие кнопки запускает отображение ShowFloorList в false, но видимость ListView не превращается в false. Это еще только видимо. – Tvd
Хмм, я думаю, вы не должны размещать Visible = '<% # ShowFloorList%>', встроенный в список. Если вы хотите контролировать отображение списка, попробуйте сделать это прямо. 1. На странице загрузки внутри! IsPostBack вручную установить listview.Visible = истина 2. На кнопку мыши, вручную установить listview.visible = ложь попробовать, что, благодаря –
Спасибо за это. Первоначально я делал только этот путь, но это не работало, поэтому я пошел с панелью и, наконец, таким образом <%# %>. Вероятно, в начальном состоянии, я должен делать что-то не так с условием if..else, из-за которого он не работает. Или, может быть, я не добавил его в if (! IsPostBack). Спасибо за ваше решение. – Tvd