[英]Button click event won't fire on first click, but always fires on subsequent clicks
[英]On-Click Event fires first time, but not subsequent times
我有一個LinkButton,它會觸發一個OnClick事件來更新一些標簽; 但是,在首次觸發OnClick之后,當我單擊另一個(或相同的)運行相同OnClick事件的LinkButton時,它將不會再次觸發。 (這是一個人的列表,每個人都有一個LinkButton,然后單擊一個將顯示其詳細信息)
如果我離開頁面幾分鍾,它將再次正常工作,幾乎就像阻止OnClick觸發超時的原因一樣。 當然,這對用戶沒有任何用處!
這是LinkButtons的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();
}
}
所有連接均有效,數據已檢索等,因此,除OnClick觸發外,所有其他功能均有效。 我已經搜索了Internet,發現自第一個ASP.NET以來,這似乎是一個長期存在的問題,但是ASP.NET 3.5沒有解決方案。 有誰知道是什么原因造成的,或者我可能在哪里出錯?
嘗試為您的鏈接按鈕提供OnClientClick =“ Page_BlockSubmit = false”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.