2010-07-30 54 views
1

我有一個LinkBut​​ton,它觸發一個OnClick事件來更新一些標籤;但是,在第一次點擊OnClick後,當點擊另一個(或同一個)運行相同OnClick事件的LinkBut​​ton時,它不會再次觸發。 (這是一個人名單,每個人都是一個LinkBut​​ton,點擊其中一個提出他們的詳細信息)點擊事件第一次觸發,但不是隨後的時間

如果我離開頁面幾分鐘,它會再次工作,就好像任何阻止OnClick發射超時一樣。當然,這不會對用戶有任何用處!

這是我的了LinkBut​​ton ASP.NET代碼(封裝在一個DataList):

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

在後面的C#代碼Page_Load事件中,下面的填充在DataList:

connection.Open(); 
SqlDataReader reader = command.ExecuteReader(); 
DataList1.DataSource = reader; 
DataList1.DataBind(); 
connection.Close(); 

這是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射擊工作以外的所有東西。我已經完成了對互聯網的搜索,發現自從第一個ASP.NET以來,這似乎一直是一個長期存在的問題,但是對於ASP.NET 3.5卻沒有解決方案。有誰知道是什麼原因造成的,或者我可能會出錯的地方?

+0

當你點擊LinkBut​​ton的第一次,什麼是網頁在做什麼?它正在加載,還是立即刷新更改?這些控件是否包含在UpdatePanel中? – mellamokb 2010-11-12 22:23:49

回答

0

先給的OnClientClick =「Page_BlockSubmit =假」爲你的鏈接按鈕

相關問題