일부 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") %>' />
<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에 대한 해결책은 없다. 아무도이 원인을 알 수 있습니까?
처음으로 LinkButton을 클릭하면 페이지가 어떻게됩니까? 로드 중입니까, 아니면 변경 사항과 함께 바로 새로 고치십니까? 이러한 컨트롤 중 하나가 UpdatePanel에 포함되어 있습니까? – mellamokb