12

私はこれを行う背後にあるコードの私のページにボタンを持っています:

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;" />

4

3 に答える 3

15

この方法でそのスタイルを削除できます。

 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>
于 2012-06-20T18:15:06.530 に答える
2

これは動作します:

gv.Style.Add(HtmlTextWriterStyle.Top, "-44px");

スタイルを追加するには

gv.Style.Remove("top");

スタイルを削除するには

于 2015-11-21T06:44:11.823 に答える
1
btnSaveLineItems.Style["display"] = "block";
于 2012-06-20T18:22:30.453 に答える