我有一個LinkButton,它觸發一個OnClick事件來更新一些標籤;但是,在第一次點擊OnClick後,當點擊另一個(或同一個)運行相同OnClick事件的LinkButton時,它不會再次觸發。 (這是一個人名單,每個人都是一個LinkButton,點擊其中一個提出他們的詳細信息)點擊事件第一次觸發,但不是隨後的時間
如果我離開頁面幾分鐘,它會再次工作,就好像任何阻止OnClick發射超時一樣。當然,這不會對用戶有任何用處!
這是我的了LinkButton 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") %>' />
<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卻沒有解決方案。有誰知道是什麼原因造成的,或者我可能會出錯的地方?
當你點擊LinkButton的第一次,什麼是網頁在做什麼?它正在加載,還是立即刷新更改?這些控件是否包含在UpdatePanel中? – mellamokb 2010-11-12 22:23:49