2015-10-09 93 views
0

jQuery的功能,所以我有这个jQuery功能Fireing与计时器滴答

function lbviewmore_click() { 
      erAlert(); 
    } 

我想,如果在一定时间之后被解雇,所以我创造了这个。

protected void Page_Load(object sender, EventArgs e) 
{ 

    alerts = DBExecute("exec testingt ", cs); 
    System.Timers.Timer aTimer = new System.Timers.Timer(); 
    aTimer.Enabled = true; 
    aTimer.Elapsed += new ElapsedEventHandler(timer_Tick); 
    aTimer.Start(); 
} 
protected void rawr() 
{ 
    ClientScript.RegisterClientScriptBlock(this.GetType(), "blah", "lbviewmore_click();", true); 
} 
private void timer_Tick(object source, ElapsedEventArgs e) 
{ 
    rawr(); 
    alerts2 = DBExecute("exec testingt ", cs); 
    if (alerts.Count == alerts2.Count) 
    { 

    } 
    else 
    { 
    } 
    //this.ClientScript.RegisterStartupScript(this.GetType(), "test", "lbviewmore_click()", true); 
    //System.Timers.Timer aTimer = new System.Timers.Timer(); 
    //aTimer.Elapsed += new ElapsedEventHandler(timer_Tick); 
    //aTimer.Interval = 1000; 
    //aTimer.Enabled = true; 
} 

如果我将clientscript放在button_click中,它会运行。但我想在其他部分。任何帮助将不胜感激。

+0

您是否希望在某段时间后弹出该按钮,无论该按钮是否被点击?..?如果是这样,那么从这里开始或做一个谷歌搜索如何自动弹出警报时,没有在网页上的活动.. http://forums.asp.net/t/1899214.aspx?If+no+activity+for+ 15 +分钟+显示+一个+提醒+ + +网页+ + +然后+任一+继续+或+注销 – MethodMan

+0

约定的要求很差,你为什么混合使用c#asp.net和jquery,似乎很奇怪...你正在努力做什么......你在问这个问题之前是否至少做了一些搜索 – Seabizkit

+0

我不想点击按钮。当我把“rawr();”到页面加载jquery运行良好,或者如果我把它放在一个按钮。但我希望这个jquery每25秒运行一次。我现在将它设置为5秒进行测试。它也会出现在其他语言中,但又是为了测试它是否在if语句之外。 – KratosMafia

回答

0

所以我决定使用viewstate以及updatepanels和ajax计时器。

ScriptManager.RegisterStartupScript(this, GetType(), "erAlert", "lbviewmore_click();", true); 

我正在使用Scriptmanager来运行JavaScript。 我试图避免ajax,但它似乎是最好的方式来做到这一点。 谢谢大家思考的想法。希望这有助于下一个漫长的人。

protected void Timer1_Tick(object sender, EventArgs e) 
{ 
    int x = Convert.ToInt32(ViewState["alert"]); 
    alerts2 = DBExecute("exec testingt ", cs); 
    if (x == alerts2.Count) 
    { 

    } 
    else 
    { 
     ScriptManager.RegisterStartupScript(this, GetType(), "erAlert", "lbviewmore_click();", true); 
     alerts = DBExecute("exec testingt ", cs); 
     int userdata = alerts.Count; 
     ViewState["alert"] = userdata; 
    } 
} 

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!ScriptManager1.IsInAsyncPostBack) 
    { 
     alerts = DBExecute("exec testingt ", cs); 
     int userdata = alerts.Count; 
     ViewState["alert"] = userdata; 
    } 
} 

这是我的page_load和计时器代码。它在我的数据库中运行一个proc来计算行数。计时器每5秒扫描一次并检查计数是否不同。如果是运行javascript并触发警报,则重置视图状态。我不知道这是否是最干净的方式,但它的工作原理。

相关问题