2010-07-30 2 views
1

일부 Label을 업데이트하기 위해 OnClick 이벤트를 발생시키는 LinkButton이 있습니다. 그러나, OnClick 첫 번째 발사 후 같은 OnClick 이벤트를 실행하는 다른 (또는 같은) LinkButton을 클릭하면 다시 실행되지 않습니다. (사람 목록, 각 LinkButton 중 하나를 클릭하면 세부 정보가 표시됩니다.)On-Click 이벤트가 처음 발생하지만 후속 시간은 발생하지 않음

페이지를 몇 분 남겨두면 거의 OnClick 발사가 지연되는 것을 막아내는 것처럼 다시 작동합니다. 물론 이것은 사용자에게 아무런 도움이되지 않습니다!

이것은 (DataList로 캡슐화)를 LinkButtons 내 ASP.NET 코드 :

connection.Open(); 
SqlDataReader reader = command.ExecuteReader(); 
DataList1.DataSource = reader; 
DataList1.DataBind(); 
connection.Close(); 
: 뒤에 C# 코드의 Page_Load 이벤트에서

<asp:DataList ID="DataList1" runat="server" DataKeyField="AdmissionNumber"> 
     <ItemTemplate> 
      <asp:CheckBox ID="CheckBox" runat="server" OnCheckedChanged="Checkbox_CheckedChanged" ViewState="true"/> 
      <asp:LinkButton ID="LinkButton" runat="server" OnClick="LinkButton_OnClick"> 
       <asp:HiddenField ID="hfAdmissionNumber" Value='<%# Eval("AdmissionNumber") %>' runat="server"/> 
       <asp:Label ID="CalledLabel" runat="server" Text='<%# Eval("Called") %>' />&nbsp; 
       <asp:Label ID="SurnameLabel" runat="server" Text='<%# Eval("Surname") %>' /> 
      </asp:LinkButton><br /><br /> 
     </ItemTemplate> 
</asp:DataList> 

, 다음은 DataList에 채 웁니다

그리고이 OnClick 이벤트입니다 :

protected void LinkButton_OnClick(object sender, EventArgs e) 
{ 
    LinkButton l = (LinkButton)sender; 
    HiddenField hfv = (HiddenField)l.Parent.FindControl("hfAdmissionNumber"); 
    using (SqlConnection connection = new SqlConnection("Data Source=pastonmis01\\inform;Initial Catalog=2009;Integrated Security=True")) 
    { 
     using (SqlCommand command = new SqlCommand("xProcSportNotParticipantDetails",connection)) 
     { 
      connection.Open(); 
      command.CommandType = System.Data.CommandType.StoredProcedure; 
      command.Parameters.AddWithValue("@AdmissionNumber", Int32.Parse(hfv.Value)); 
      SqlDataReader reader = command.ExecuteReader(); 
      reader.Read(); 
      lTitle.Text = reader.GetValue(0).ToString(); 
      lSurname.Text = reader.GetValue(1).ToString(); 
      lForename.Text = reader.GetValue(2).ToString(); 
      lCalled.Text = reader.GetValue(3).ToString(); 
      lDoB.Text = reader.GetValue(4).ToString().Substring(0,10); 
      lSex.Text = reader.GetValue(5).ToString(); 
      reader.Close(); 
     } 
     connection.Close(); 
    } 
} 

모든 연결 작업, 데이터가 RET입니다 rieved, 등등, OnClick firing을 제외하고 모두 작동합니다. 나는 인터넷 검색을 해본 결과 첫 번째 ASP.NET 이후 오랫동안 계속 된 문제인 것으로 보이지만 ASP.NET 3.5에 대한 해결책은 없다. 아무도이 원인을 알 수 있습니까?

+0

처음으로 LinkButton을 클릭하면 페이지가 어떻게됩니까? 로드 중입니까, 아니면 변경 사항과 함께 바로 새로 고치십니까? 이러한 컨트롤 중 하나가 UpdatePanel에 포함되어 있습니까? – mellamokb

답변

0

링크 버튼에 대해 OnClientClick = "Page_BlockSubmit = false"를 입력 해보십시오.

관련 문제