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)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值