我不确定我是否以最好的方式表达了这个问题,所以我将展示我的代码示例。
我有多个使用相同 javascript 函数的页面。我没有将该功能添加到每个页面,而是将其添加到 .js 中并将其导入到站点主控器中。如何将处理程序添加到将调用该函数的对象,我拥有它的方式似乎不起作用。
编辑:我发现问题出在
document.getElementById('<%= PostBackButton.ClientID %>').click();
javascript函数确实被正确调用并且页面确实有一个PostBackButton asp按钮,但是getelement返回null。
//chart-ajaxDateSelection.js
function dateSelectionChanged(sender, args) {
selectedDate = sender.get_selectedDate();
document.getElementById('<%= PostBackButton.ClientID %>').click();
}
function getSlide()
{
var i,x,y,ARRcookies=document.cookie.split(";");
for (i=0;i<ARRcookies.length;i++)
{
x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
x=x.replace(/^\s+|\s+$/g,"");
if (x=="slide")
{
return y;
}
}
}
我的处理程序:
<asp:TextBox ID="OverviewChartStartDateTextBox" runat="server"></asp:TextBox>
<ajaxToolkit:CalendarExtender ID="OverviewChartStartCal"
OnClientDateSelectionChanged="dateSelectionChanged" runat="server"
TargetControlID="OverviewChartStartDateTextBox">
</ajaxToolkit:CalendarExtender>
如您所见,当在 ajax 日历上更改所选日期时,我试图调用 dateSelectionChanged 方法。