从userControl调用javascript

时间:2011-07-11 20:48:30

标签: c# jquery .net

我在index.aspx上注册并加载了userControl“foo.ascx”。在foo的page_load上,我调用了一个在foo标记页面上创建的javascript方法。我正在使用Page.ClientScript.RegisterClientScriptBlock 我遇到的问题是,在加载用户控件期间,ClientScriptBlock代码似乎是在呈现javascript之前调用javascript 。下面是我拥有的页面源代码示例和问题IS StartCounter(“25:10”);在创建函数之前调用。任何帮助都会很棒。非常感谢你。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <script type="text/javascript" src="Assets/Javascript/jQuery.js" ></script>
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head><title>
    </title></head>
    <body>
       <form name="form1" method="post" action="default.aspx" id="form1">
    <div>
    <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKLTUxOTYxMTY4OGRkounMyYFBle29baVV35X4KzMIHn4=" />
    </div>   
 <type="text/javascript">
//<![CDATA[
StartCounter("25:10");//]]>
   </script>
       <div>
    <script type="text/javascript" src="../Assets/Javascript/Timer.js"></script>
    <script type="text/javascript">
      $(document).ready(function() {
      });
    function StartCounter(startTime)
    {
      $('#counter').countdown({
        stepTime: 60,
        format: 'mm:ss',
        startTime: startTime,
        digitImages: 6,
        digitWidth: 53,
        digitHeight: 77,
        timerEnd: function() { alert('end!!'); },
        image: "/Assets/Images/digits.png"
      });
      }

1 个答案:

答案 0 :(得分:2)

尝试以这种方式在服务器端的RegisterClientScriptBlock中注册js,它将解决问题。

$(document).ready(function(){ StartCounter("25:10"); });