2

リンクボタンを更新パネルに配置して正常に動作していますが、そのページを1時間一緒に開いてからそのリンクボタンをクリックすると、そのリンクボタンのクリックイベントは呼び出されません。そのイベントを呼び出したい場合は、そのページを更新する必要があり、正常に動作し始めます。

そのリンクボタンの私の.csコード(aspx.cs)は

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

マイ デザイン ページ コード (aspx)

<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>

すべてが適切に機能しているため、コードを記述する必要はありませんでした。唯一の問題は、

「何の作業もせずにそのページを連続して開いた場合、しばらくするとリンクボタンのクリックイベントが呼び出されないのはなぜですか?」

4

2 に答える 2

0

集めるには2つのことをしなければなりません

1 > ラトナの指示に従ってください。

例:

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

2 > updatepanelでクリックさせたいボタンを非同期ポストバックにする

例:

 <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>
于 2014-02-08T10:58:58.740 に答える