2015-10-09 94 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並觸發警報,則重置視圖狀態。我不知道這是否是最乾淨的方式,但它的工作原理。

相關問題