Показать нет/удалить стиль для кода asp.net, который не работает
У меня есть кнопка на моей странице в коде, за которой я делаю это:
btnSaveLineItems.Style.Add("display", "none");
Но позже я хочу показать эту кнопку, поэтому я попробовал это:
btnSaveLineItems.Style.Clear();
Это не означает, что кнопка...
Разметка html в начале имеет "style = display: none"; в начале страницы..
и он поддерживает этот стиль, хотя я пытаюсь его удалить?
Может ли кто-нибудь помочь с этим...
Когда моя страница запускается первой, я получаю следующее:
btnSaveLineItems.Style["display"] = "none";
В HTML это выглядит следующим образом:
<input type="submit" name="ctl00$MainContent$btnSaveLineItems" value="Save" id="MainContent_btnSaveLineItems" title="Save changes?" style="border-color:#4B6C9E;border-style:Solid;display:none;" />
Затем происходит событие (выбранное событие с измененным индексом в раскрывающемся списке), где я затем делаю это:
btnSaveLineItems.Style["display"] = "";
Я также пробовал:
btnSaveLineItems.Style [ "display" ] = "block";
и оба отображают один и тот же HTML:
<input type="submit" name="ctl00$MainContent$btnSaveLineItems" value="Save" id="MainContent_btnSaveLineItems" title="Save changes?" style="border-color:#4B6C9E;border-style:Solid;display:none;" />
Ответы
Ответ 1
Вы можете удалить этот стиль таким образом:
btnSaveLineItems.Style["display"] = "";
или
btnSaveLineItems.Style.Remove("display");
Изменить:
Это тоже не работает для меня... Интересно, это из-за падения нижний список находится внутри панели обновления, и эта кнопка находится вне обновленной панели?
Да, вы можете обновлять содержимое текущего UpdatePanel
по асинхронной обратной почте по умолчанию. Проще всего было бы поместить вашу кнопку в другой UpdatePanel
и добавить DropDownList
как AsyncPostBackTrigger
:
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DdlChanged">
<asp:ListItem Text="Item 1" Value="1"></asp:ListItem>
<asp:ListItem Text="Item 2" Value="2"></asp:ListItem>
</asp:DropDownList>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<ContentTemplate>
<asp:Button ID="btnSaveLineItems" Text="click me" runat="server" />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="DropDownList1" />
</Triggers>
</asp:UpdatePanel>
Ответ 2
btnSaveLineItems.Style["display"] = "block";
Ответ 3
это работает:
gv.Style.Add(HtmlTextWriterStyle.Top, "-44px");
чтобы добавить стиль
и
gv.Style.Remove("top");
удалить стиль