我在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>
下面是我写的不行,急盼各位高手指点
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>
先生成了页面对象,然后才执行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>");
}
先生成了页面对象(这时候运行了var...这段脚本),
然后才执行Page_Load(这时候才给textbox赋值)
所以搂主的方法不行......
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为空,
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>