我的代码后面的代码中有一个按钮,我这样做:
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;" />
答案 0 :(得分:10)
您可以通过以下方式删除该样式:
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>
答案 1 :(得分:1)
btnSaveLineItems.Style["display"] = "block";
答案 2 :(得分:1)
这有效:
gv.Style.Add(HtmlTextWriterStyle.Top, "-44px");
添加样式
和
gv.Style.Remove("top");
删除样式