<span style="font-size: 14px; color: #FF9900; font-weight: bold;">竞猜倒计时:</span><script
                                            language="javascript" type="text/javascript">
 //输出显示时间日期的容器 
document.write("<span id=time></span>");
var a=1;
var timediff
function Countdown(time){  //'2010-8-8-12-12-12'
var arg = time.split('-');
var theDate=new Date();
var theDayNumOfThisMonth=(new   Date(theDate.getFullYear(),theDate.getMonth()+1,0)).getDate();for(var i=0;i<6;i++)
{if(!arg[i])arg.push(0)}
TotalMilliSeconds515 = Date.parse((new Date(arg[0],arg[1],arg[2],arg[3],arg[4],arg[5])).toString()) - Date.parse((new Date()).toString());
     var days=Math.floor(TotalMilliSeconds515 /(1000*60*60*24)-theDayNumOfThisMonth);
     
                            var hours = Math.floor( TotalMilliSeconds515  / (  60 * 60 *1000)) % 24;
                            var minutes = Math.floor(TotalMilliSeconds515  /  (60*1000)) % 60;
                            var seconds = Math.floor(TotalMilliSeconds515  /1000) % 60;
                            var strHtm="<span class='cssbidlist_day'>"+days+"</span><span style=\"color:#FF6600; font-size:12px;\">天</span>&nbsp;";
                                strHtm+="<span class='cssbidlist_hour'>"+hours+"</span><span style=\"color:#FF6600; font-size:12px;\">时</span>&nbsp;";
                                strHtm+="<span  class='cssbidlist_minute'>"+minutes+"</span><span style=\"color:#FF6600; font-size:12px;\">分</span>&nbsp;";
                                strHtm+="<span  class='cssbidlist_second'>"+seconds+"</span><span style=\"color:#FF6600; font-size:12px;\">秒</span>";
    if(days<0){    
    strHtm="商品竞拍已结束!"
    document.write("<%SetRightUser(); %>");  
    clearInterval(init);
    }
   
    document.getElementById('time').innerHTML=strHtm;
}
init=setInterval(function(){Countdown('<%=endtimes %>');},1000)
</script>
就是一个时间自动刷新的js代码,我想在
if(days<0){    
    strHtm="商品竞拍已结束!"
    document.write("<%SetRightUser(); %>");  
    clearInterval(init);
    }
的时候调用后台的一个方法SetRightUser(); 但是每次页面一加载就调用了这个方法,有没有什么办法控制,这里if(days<0)的判断对他好像根本没用,肯能是doucument.write()的原因吧,
各位帮帮忙!!!

解决方案 »

  1.   

    如果懂点ajax的话就很简单
    后台引入 using System.Web.Services;
    定义一个静态的方法 比如    
     public static bool CheckLoginName(string name)
    {}
    然后在这个方法前面加一个
     [WebMethod]
    前台:拖一个scriptmanager控件
    并设置他的EnablePageMethods="True"
    在js中调用 PageMethods.CheckLoginName(name)
    应该就OK了
      

  2.   

    说具体点撒,主要是每次页面一加载就调用了后台的那个方法,后台方法里我又用 Page.RegisterStartupScript("", "<script>clearInterval(init);</script>");
    禁用掉了这个刷新的代码 ,在时间还没有结束的情况下,他的时间也不显示了   
      

  3.   

    document.write(" <%SetRightUser(); %>");  
    有这种写法的吗?
      

  4.   

    public string GetA() 
            { 
                
                return "";
            } 
    javascript代码 
    function getA() 

      var a=" <%=GetAStatus()%>"; 
      return a; 

    protected string A( string x) 
        { 
            return x; 
        } 
    <script language="javascript" type="text/javascript"> 
    function Fun() { 
        var a = "" ; 
        alert(' <%= A("'+ a +'") %>'); 
    }  ajax异步调用 
      

  5.   

    还是谢谢了,我用了个timer控件来进行倒计时,不用js。问题已解决