我在page_load事件中去库中的值,然后怎么让js接收到值呢?
下面是我写的不行,急盼各位高手指点
private void Page_Load(object sender, System.EventArgs e)
{
DateTime dtEnd,dtStart;
dtEnd = Convert.ToDateTime(buy.end_datetime.ToString().Trim());
dtStart = DateTime.Now;
TimeSpan ts = new TimeSpan();
ts = dtStart.Subtract(dtEnd);
TbDays.Text= (0-ts.Days).ToString() ;
TbHours.Text = (0-ts.Hours).ToString();
TbMinutes.Text = (0-ts.Minutes).ToString();
TbSeconds.Text = (0-ts.Seconds).ToString();
}
<script language =javascript>
var Days = parseInt(Form1.TbDays.value);
var Hours = parseInt(Form1.TbHours.value);
var Minutes = parseInt(Form1.TbMinutes.value);
var Seconds = parseInt(Form1.TbSeconds.value);
function closeit() 
{
setInterval("f();",1000);
//setTimeout("window.opener=null;;self.close()",sm*1000) //单位是毫秒,这里是5秒
}
function f()
{
ttt.innerText="还剩"+Days+"天"+Hours+"小时"+Minutes+"分"+Seconds+"秒";
if(Seconds>0)
{
Seconds--;
}
else
{
Minutes--;
Seconds = 59;
}
if(Minutes<0)
{
Hours--;
Seconds = 59;
}
if(Hours<0)
{
Days--;
Hours = 23;
}
}
</script>

解决方案 »

  1.   

    执行顺序的问题.
    先生成了页面对象,然后才执行Page_Load
    提供2种解决方法参考:
    1〉var Days = parseInt(Form1.TbDays.value);
    var Hours = parseInt(Form1.TbHours.value);
    var Minutes = parseInt(Form1.TbMinutes.value);
    var Seconds = parseInt(Form1.TbSeconds.value);
    把这些放到funtion里面;2〉page_Load方法里改写js变量的值
    private void Page_Load(object sender, System.EventArgs e)
    {
    DateTime dtEnd,dtStart;
    dtEnd = Convert.ToDateTime(buy.end_datetime.ToString().Trim());
    dtStart = DateTime.Now;
    TimeSpan ts = new TimeSpan();
    ts = dtStart.Subtract(dtEnd);
    TbDays.Text= (0-ts.Days).ToString() ;
    TbHours.Text = (0-ts.Hours).ToString();
    TbMinutes.Text = (0-ts.Minutes).ToString();
    TbSeconds.Text = (0-ts.Seconds).ToString();
      Page.RegisterStartupScript("",@"<script>
                var Days = 1;
                var Hours = 2;
                var Minutes = 3;
                var Seconds = 4;
                </script>");
      

  2.   

    执行顺序的问题:
    先生成了页面对象(这时候运行了var...这段脚本),
    然后才执行Page_Load(这时候才给textbox赋值)
    所以搂主的方法不行......
      

  3.   

    我把他写在一个<script language =javascript>
    function closeit() 
    {
    load();
    setInterval("f();",1000);
    //setTimeout("window.opener=null;;self.close()",sm*1000) //单位是毫秒,这里是5秒
    }
    function load()
    {
    var Days = parseInt(Form1.TbDays.value);
    var Hours = parseInt(Form1.TbHours.value);
    var Minutes = parseInt(Form1.TbMinutes.value);
    var Seconds = parseInt(Form1.TbSeconds.value);
    }
    function f()
    {
    ttt.innerText="还剩"+Days+"天"+Hours+"小时"+Minutes+"分"+Seconds+"秒";
    if(Seconds>0)
    {
    Seconds--;
    }
    else
    {
    Minutes--;
    Seconds = 59;
    }
    if(Minutes<0)
    {
    Hours--;
    Seconds = 59;
    }
    if(Hours<0)
    {
    Days--;
    Hours = 23;
    }
    }
    </script>
    提示Form1.TbDays.value为空,
      

  4.   

    我把他写在一个<script language =javascript>
    var Days;
    var Hours ;
    var Minutes ;
    var Seconds ;
    function closeit() 
    {
      setInterval("f();",1000);
    }
    function loadit()
    {
    Days = parseInt(Form1.TbDays.value);
    Hours = parseInt(Form1.TbHours.value);
    Minutes = parseInt(Form1.TbMinutes.value);
    Seconds = parseInt(Form1.TbSeconds.value);
    }
    function f()
    {
             loadit();
    ttt.innerText="还剩"+Days+"天"+Hours+"小时"+Minutes+"分"+Seconds+"秒";
    //....
    }
    </script>