使用Jquery清除文本框,但该值在第一次重新加载页面后显示

时间:2015-04-30 15:16:51

标签: jquery asp.net jquery-ui-datepicker

我的网络表单(ASP.NET)上有一个jquery daterange picker。我使用以下代码清除了Daterange选择器

$('#txt_dtfrom').daterangepicker("clearRange");
 $('#txt_dtfrom').val('');

但是当我重新加载页面(f5)时,在服务器端,文本框没有显示任何值。但是当页面加载回来时,日期范围选择器会加载旧范围。它看起来像文本框也不是空的。

当我们检查文本框的值时,它表示值已存在。但如果重新加载(F5),这不会发生。这次正确清除了文本框。这意味着只有第二次重新加载使用JQUERY反映清除的文本框。看起来缓存了文本框值(是真的)。我认为,因为当我们使用断点进行调试时,它在服务器端也是空的

修改 我错过了一点。文本框也在表格内。每个控件都在更新面板中。那么有任何连接错误吗?我的意思是缓存的东西?

1 个答案:

答案 0 :(得分:0)

如果我正确理解您的问题,您可能需要查看清除该控件的ViewState。

自从我使用WebForms以来已经有一段时间了,但我相信它是这样的:

ViewState[nameOfControl] = null;

您可能希望在Page_Load事件中拥有该功能,可能是在进行回发检查后。这样,当页面重新加载时,该值不会存储在ViewState中。

另一种方法是在文档准备好的情况下清除JavaScript / jQuery中的控件,基本上包装了$(document).ready事件中已有的内容:

$(document).ready(function () {
    $('#txt_dtfrom').daterangepicker("clearRange");
    $('#txt_dtfrom').val('');
});