我有一个图像按钮,可以切换最初可见性设置为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上的calendar标记中设置为默认值。
谢谢
答案 0 :(得分:1)
删除行
Calendar3.EnableViewState = false;
您只需将按钮点击事件写为:
Calendar3.Visible = !Calendar3.Visible; //toggle effect
答案 1 :(得分:1)
您可以使用客户端事件来更改日历控件的可见性,而不是使用服务器端事件。
例如:
设置style =“display:none”initailly&使用客户端事件(使用jQuery )切换它。
<script>
$(function(){
$("<%=Calendar3.ClientID%>").css("display", "none");
$("<%=ImageButton1.ClientID%>").on("click", function(){
$("<%=Calendar3.ClientID%>").toggle();
});
});
<\script>
答案 2 :(得分:0)
Calendar3.Visible返回一个bool,所以不需要
if (Calendar3.Visible == false)
刚
if (!Calendar3.Visible)
会做