0

最初に可視性がfalseに設定されているカレンダーを切り替える必要がある画像ボタンがあります。これは Page_Load コードです。

Calendar3.EnableViewState = false;

if (!IsPostBack)
{
    BindData();
}

これは、画像ボタンのクリックです。

 protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
 {
     if (Calendar3.Visible == false)
         Calendar3.Visible = true;
     else
         Calendar3.Visible = false;
 }

最初のクリックでカレンダーが表示され、もう一度ボタンをクリックしても非表示にできません。ボタンをクリックするたびにカレンダーコントロールの可視性プロパティを変更するにはどうすればよいですか。

PS: 更新パネル内でカレンダー コントロールとイメージボタンを使用してポストバックを取得しています。デバッグしようとすると、page_load ごとにカレンダー タグから可視性プロパティがデフォルト値に設定されます。

ありがとう

4

3 に答える 3

1

線を取り除く

Calendar3.EnableViewState = false;

ボタンクリックイベントを次のように書くだけです。

Calendar3.Visible = !Calendar3.Visible; //toggle effect
于 2012-12-05T07:09:16.450 に答える
1

サーバー側のイベントを使用する代わりに、クライアント側のイベントを使用してカレンダー コントロールの可視性を変更できます。

例えば。:

style="display:none" を最初に設定し、クライアント側イベントを使用して切り替えます ( jQuery を使用)。

<script>
    $(function(){
        $("<%=Calendar3.ClientID%>").css("display", "none");
        $("<%=ImageButton1.ClientID%>").on("click", function(){
         $("<%=Calendar3.ClientID%>").toggle();
        });
    });
<\script>
于 2012-12-05T07:21:33.750 に答える
0

Calendar3.Visible は bool を返すため、

if (Calendar3.Visible == false)

ただ

if (!Calendar3.Visible)

しましょう

于 2012-12-05T07:12:22.730 に答える