Asp.net ReportViewer在endRequest处理程序中删除日期时间戳
我在报表查看器控件中添加了一个jQuery datepicker,并成功地从我的日期参数中删除了时间戳,但由于某种原因,当我单击“查看报表”按钮时,它看起来每次都只是对参数进行回发,而不是运行报表。我相信这是因为我是如何删除_endRequest处理程序中的时间戳的,但我想不出任何其他方法来删除时间戳。 当我查看chrome开发工具时,我可以看到console.log消息,当我第一次选择日期时,它会删除时间戳并记录我的消息,但当我点击“查看报告”按钮时,它会两次点击我的console.log消息。当我点击“查看报告”按钮时,是否有可能不点击_endRequest处理程序的方法,也许可以解决我的问题。也对其他想法持开放态度。下面是我的ReportViewer html页面和处理日期选择器的jQuery函数Asp.net ReportViewer在endRequest处理程序中删除日期时间戳,asp.net,postback,reportviewer,Asp.net,Postback,Reportviewer,我在报表查看器控件中添加了一个jQuery datepicker,并成功地从我的日期参数中删除了时间戳,但由于某种原因,当我单击“查看报表”按钮时,它看起来每次都只是对参数进行回发,而不是运行报表。我相信这是因为我是如何删除_endRequest处理程序中的时间戳的,但我想不出任何其他方法来删除时间戳。 当我查看chrome开发工具时,我可以看到console.log消息,当我第一次选择日期时,它会删除时间戳并记录我的消息,但当我点击“查看报告”按钮时,它会两次点击我的console.log消息
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/themes/smoothness/jquery-ui.css" />
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptMgr" runat="server"></asp:ScriptManager>
<rsweb:ReportViewer ID="ReportViewer" Style="display: table !important; margin: 0px; overflow: auto !important;" runat="server"></rsweb:ReportViewer>
</div>
</form>
<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery/jquery-2.1.1.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js"></script>
<script src="http://code.jquery.com/jquery-1.8.2.js"></script>
<script src="http://code.jquery.com/ui/1.9.1/jquery-ui.js"></script>
<script type="text/javascript">
$(function () {
$('div').add('td').attr('onclick', '');
$('input').removeAttr('disabled');
showDatePicker();
// added so that datepicker reappears each time on textbox click and postback
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(applicationInitHandler);
function applicationInitHandler() {
showDatePicker();
console.log("here");
var fromDate = document.getElementById("ReportViewer_ctl04_ctl05_txtValue").value;
var toDate = document.getElementById("ReportViewer_ctl04_ctl03_txtValue").value
console.log(toDate);
console.log(fromDate);
document.getElementById("ReportViewer_ctl04_ctl05_txtValue").value = fromDate.substring(0, 10);
document.getElementById("ReportViewer_ctl04_ctl03_txtValue").value = toDate.substring(0, 10);
}
function showDatePicker() {
var parameterRow = $("#ParametersRowReportViewer");
var innerTable = $(parameterRow).find("table").find("table");
var span = innerTable.find("span:contains('Date')");
if (span.length) {
var innerRow = $(span).parents('tr').eq(0);
var innerCell = innerRow.find('td').eq(1);
var textFrom = innerCell.find('input[type="text"]');
innerCell = innerRow.find('td').eq(4);
var textTo = innerCell.find('input[type="text"]');
$(textFrom).datepicker({
dateFormat: 'mm/dd/yy',
changeMonth: true,
changeYear: true,
numberOfYears: 1,
numberOfMonths: 1,
onClose: function (selectedDate) {
$(textTo).datepicker("option", "minDate", selectedDate);
}
});
$(textFrom).focus(function (e) {
e.preventDefault();
$(textFrom).datepicker("show");
});
$(textTo).datepicker({
dateFormat: 'mm/dd/yy',
changeMonth: true,
changeYear: true,
numberOfYears: 1,
numberOfMonths: 1,
onClose: function (selectedDate) {
$(textFrom).datepicker("option", "maxDate", selectedDate);
}
});
$(textTo).focus(function () {
$(textTo).datepicker("show");
});
}
}
});
</script>
</body>
</html>
$(函数(){
$('div').add('td').attr('onclick','');
$('input').removeAttr('disabled');
showDatePicker();
//添加,以便每次单击文本框并回发时,日期选择器都会重新出现
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(applicationInitHandler);
函数applicationInitHandler(){
showDatePicker();
console.log(“此处”);
var fromDate=document.getElementById(“ReportViewer\u ctl04\u ctl05\u txtValue”).value;
var toDate=document.getElementById(“ReportViewer\u ctl04\u ctl03\u txtValue”).value
console.log(toDate);
console.log(fromDate);
document.getElementById(“ReportViewer\u ctl04\u ctl05\u txtValue”).value=fromDate.substring(0,10);
document.getElementById(“ReportViewer\u ctl04\u ctl03\u txtValue”).value=toDate.substring(0,10);
}
函数showDatePicker(){
var parameterRow=$(“#ParametersRowReportViewer”);
var innerTable=$(parameterRow).find(“表格”).find(“表格”);
var span=innerTable.find(“span:contains('Date')”;
if(跨度长度){
var innerRow=$(span).parents('tr').eq(0);
var innerCell=innerRow.find('td').eq(1);
var textFrom=innerCell.find('input[type=“text”]”);
innerCell=innerRow.find('td').eq(4);
var textTo=innerCell.find('input[type=“text”]”);
$(textFrom).datepicker({
日期格式:“mm/dd/yy”,
变化月:对,
变化年:是的,
年数:1,
月数:1,
onClose:函数(selectedDate){
$(textTo).datepicker(“选项”,“minDate”,selectedDate);
}
});
$(textFrom).focus(函数(e){
e、 预防默认值();
$(textFrom).datepicker(“show”);
});
$(textTo).datepicker({
日期格式:“mm/dd/yy”,
变化月:对,
变化年:是的,
年数:1,
月数:1,
onClose:函数(selectedDate){
$(textFrom).datepicker(“选项”,“maxDate”,selectedDate);
}
});
$(textTo).focus(函数(){
$(textTo).datepicker(“show”);
});
}
}
});