我的网络表单(ASP.NET)上有一个jquery daterange picker。我使用以下代码清除了Daterange选择器
$('#txt_dtfrom').daterangepicker("clearRange");
$('#txt_dtfrom').val('');
但是当我重新加载页面(f5)时,在服务器端,文本框没有显示任何值。但是当页面加载回来时,日期范围选择器会加载旧范围。它看起来像文本框也不是空的。
当我们检查文本框的值时,它表示值已存在。但如果重新加载(F5),这不会发生。这次正确清除了文本框。这意味着只有第二次重新加载使用JQUERY反映清除的文本框。看起来缓存了文本框值(是真的)。我认为,因为当我们使用断点进行调试时,它在服务器端也是空的
修改 我错过了一点。文本框也在表格内。每个控件都在更新面板中。那么有任何连接错误吗?我的意思是缓存的东西?
答案 0 :(得分:0)
如果我正确理解您的问题,您可能需要查看清除该控件的ViewState。
自从我使用WebForms以来已经有一段时间了,但我相信它是这样的:
ViewState[nameOfControl] = null;
您可能希望在Page_Load
事件中拥有该功能,可能是在进行回发检查后。这样,当页面重新加载时,该值不会存储在ViewState中。
另一种方法是在文档准备好的情况下清除JavaScript / jQuery中的控件,基本上包装了$(document).ready
事件中已有的内容:
$(document).ready(function () {
$('#txt_dtfrom').daterangepicker("clearRange");
$('#txt_dtfrom').val('');
});