微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp点击按钮之后自动刷新页面,怎么解决

asp点击按钮之后自动刷新页面,日期文本框被清空怎么解决

比如这个界面,进行查询(我设置了日期为今天的认值,图中是点击查询前)

演示图1

当我点击查询之后,两个时间输入框立马变成认(“今天”)

演示图片二

然后我发现,如果我不设置认值,一进来就是空的话,点击之后就会保留你的选择(我之前做的时候怎么不是这样,记得回被清空的,奇怪,还是我记错了?)
那我就是要设置认值呢?,又不想让他清空变回认,一开始我的思路是,变量获取值之后再赋值回去,问题是,不管用啊,因为它刷新了,于是就想到了js中的定时器,还有选择器JQuery,首先设置两个lable,将它们隐藏,千万不要用Visible属性,因为会读取不到值,用css display none掉

<div>
     <%--隐藏,用来记录用户选择的日期--%>
     <asp:Label ID="lastart" runat="server" Text="" CssClass="none"></asp:Label>
     <asp:Label ID="laend" runat="server" Text="" CssClass="none"></asp:Label>
</div>

然后当点击(我图中的是查询)按钮之后,先在VS的按钮事件中给添加的lable赋值

//start和end都是变量,接收那两个日期文本框的值
this.lastart.Text = start;
this.laend.Text = end;

Js写定时器,当两个lable有值的时候就会给日期文本框,当然,你会看到文本框会从认值跳到lable的值,因为时间是300ms,你也可以设置的更快一些

//定时器,对付刷新
var timer = setInterval(function () {
//判断两个lable的值是不是空,因为定时器一直在开着,时间设置为300ms
//为什么不点击按钮之后再开?因为会刷新页面没用,所以一直开着
//选择器的id怎么和上图的不一样?多了个“All_”?因为我用了母版,前面是母版前缀
//!=“”的时候就是有值,就赋值给两个日期文本框
	   if ($("#All_lastart").text() != "" && $("#All_laend").text() != "") {
	       $("#All_starttime").val($("#All_lastart").text());
	       $("#All_endtime").val($("#All_laend").text());
	       //关闭定时器,不用担心,点击(我图中是查询)按钮之后会刷新,又会打开
	       //为什么要关闭?因为一直在给值给日期选择文本框,这样会让你选择的又变回去
	       clearInterval(timer);
	   }
}, 300)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐