3

ASP.NET Web ページで Panel を使用して、クライアント側のボタン クリックに応答してコントロールの選択を非表示または表示しています。簡単なスクリプトで可視性を切り替えます

<script>
    function SetToAddSurvey() {

    var x = document.getElementById("NewSurveyPanel");
    if (x.style.display == "none") {
        x.style.display = "block";
    } else {
        x.style.display = "none";
    }
}
</script>

データベース トランザクションに続いて、サーバー側で表示プロパティを切り替える必要があります。コードを使用できないことを知っています

NewSurveyPanel.visible = false; 

コントロールがレンダリングされず、次に呼び出されたときに上記の jscript が失敗するためです。

NewSurveyPanel.Attributes["display"] = "block";

も機能しません。

これに対する簡単な解決策はありますか?

タ。

4

3 に答える 3

5

これを試して

NewSurveyPanel.Attributes["style"] = "display: none";

また

NewSurveyPanel.Attributes["style"] = "visibility: hidden";

これが行うことは、次のように開始タグをレンダリングすることです:

<div ....... style="display: none" ....>
于 2013-04-02T20:30:27.483 に答える
2

CSS クラスを使用します。

.hidden {
   display: none;
}

....

 NewSurveyPanel.CssClass = "hidden";
于 2013-04-02T20:30:52.383 に答える
0

コードビハインド

NewSurveyPanel.Attributes["style"] = "display: block";

ASPX

<asp:Panel ID="NewSurveyPanel" runat="server">
    test
</asp:Panel>
<asp:Button runat="server" OnClientClick="SetToAddSurvey(); return false;" />
<script>
    function SetToAddSurvey() {

        var x = document.getElementById("<%= NewSurveyPanel.ClientID%>");
        alert(x);
        if (x.style.display == "none") {
            x.style.display = "block";
        } else {
            x.style.display = "none";
        }
    }
</script>
于 2013-04-02T20:30:43.983 に答える