如何让Javascript脚本执行CS函数。

        今天用AjaxControlToolkit控件CalendarExtender,想实现一个这样的功能:当用户选择某个日期后,执行一个验证的过程(与asp.net的Calendar控件的SelectionChanged方法)。于是我就找看有没有这样的事件,找了老半天,只找到一个属性:OnClientDateSelectionChanged,从字面上看应该就是这个了,但这个只支持脚本,不支持CS里的函数。那如何实现这个功能呢?于是上网找,还真有人跟我一样遇到这样的问题,但上面的答案不明确。还是自己研究出来了。

思路是这样的: 1、选在面页上放一个Button,把它的Width和Height都成0(注意一定不能设Visible=false,因为这样后面的脚本找不到它的),以达到隐藏的效果,并设ID=”btnSelect"。

                             2、在Button的OnClick事件中定义好要执行的事件。

                             3、设置CalendarExtender的OnClientDateSelectionChanged属性:SelectDate(这里对应的是Javascript的function;

                             4、写Javascript如下:

                            

function  SelectedDate()
{
     
//取到第一步定义的Button对象
   var objBtn = document.getElementById('btnSelect');
      objBtn.click();     
//执行单击事件 
}

                 这样就可以实现了。

                 这里补充一点,就是在有母版页的页面。var objBtn = document.getElementById('btnSelect');这句是不能取到对象的,要改成这样:

var objBtn = document.getElementById("<%=btnSelect.ClientID%>); 

而且这句只能放在页中的的<script>中,不能放在单独的js文件中。

因为母版页的控件ID会被重新命名。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值