2013-10-25 55 views
2

我把我的linkbutton在更新面板和工作正常 但是,如果我把該頁面打開一個小時在一起,然後單擊該按鈕,比點擊事件linkbutton不被調用。 如果我想調用該事件,我必須刷新該頁面,並開始正常工作。該鏈接按鈕使用updatepanel初始工作良好,但一段時間後不工作

我的.cs代碼(aspx.cs)是

protected void lnkcontact_Click(object sender, EventArgs e) 
{ 
    Response.Redirect("index.aspx?name=6"); 
} 

我設計的網頁代碼(C++)

<asp:UpdatePanel ID="UpdatePanel2" runat="server"> 
<ContentTemplate>        
<asp:LinkButton CssClass="bottom-link" ID="lnkcontact" runat="server" OnClick="lnkcontact_Click">CONTACT</asp:LinkButton> 
</ContentTemplate> 
</asp:UpdatePanel> 

沒有必要寫代碼都是工作正常唯一的問題是,

「如果我把那個頁面連續打開,沒有任何工作要做,那爲什麼linkbutton點擊事件不會在一段時間後調用?」

+0

Might成爲會話/認證超時。 – Stefan

回答

0

我們必須做2件事收集

1>按照Ratna說的說明。

爲如:

<asp:UpdatePanel ID="UpdatePanel10" runat="server"> 
    <ContentTemplate> 
    <asp:Timer ID="Timer1" runat="server" Interval="180000"> 
    </asp:Timer> 
</ContentTemplate> 
</asp:UpdatePanel> 

2>讓你想點擊的UpdatePanel的

EG的按鈕異步回送:

<asp:UpdatePanel ID="UpdatePanel15" runat="server" UpdateMode="Conditional"> 
<ContentTemplate> 
    </ContentTemplate> 
    <Triggers> 
    <asp:AsyncPostBackTrigger ControlID="" EventName="" />//this is asynchronouspostback 
    </Triggers> 
</asp:UpdatePanel> 

所以這個聚集形式代碼

<asp:UpdatePanel ID="UpdatePanel10" runat="server"> 
    <ContentTemplate> 
    <asp:Timer ID="Timer1" runat="server" Interval="180000"> 
    </asp:Timer> 
</ContentTemplate> 
</asp:UpdatePanel> 
<asp:UpdatePanel ID="UpdatePanel15" runat="server" UpdateMode="Conditional"> 
<ContentTemplate> 
<asp:Button ID="btn" runat="server" Text="Upload File" OnClick="btn_upload_file_Click" /> 
    </ContentTemplate> 
    <Triggers> 
    <asp:AsyncPostBackTrigger ControlID="btn" EventName="Click" />//this is asynchronouspostback 
    </Triggers> 
</asp:UpdatePanel> 
2

問題不在於代碼,而在於.net行爲,即您使用的是session和viewstate。而且他們都會在一段時間後消失。爲了避免讓你的頁面不使用這兩件事,或者你可以做的最簡單的事情就是放置一個計時器,它只會回發,以便會話和視圖狀態劑量過期。希望這是明確的。

+0

而這會導致「psuedo-no-op」,因爲它位於UpdatePanel中。 – Stefan

+0

但在這裏,我也沒有使用視圖狀態,也沒有使用會話比這個問題發生? –

+0

是的,您正在使用它,但您可能不知道,請嘗試禁用每個控件的viewstate並查看它是否有幫助。我會建議使用計時器。同時刪除更新面板,然後測試你現在正在做的事情(1小時後),你會得到一個錯誤,錯誤是什麼?請詳細說明。 – Ratna

相關問題