簡體   English   中英

首次觸發“點擊事件”,但不觸發

[英]On-Click Event fires first time, but not subsequent times

我有一個LinkBut​​ton,它會觸發一個OnClick事件來更新一些標簽; 但是,在首次觸發OnClick之后,當我單擊另一個(或相同的)運行相同OnClick事件的LinkBut​​ton時,它將不會再次觸發。 (這是一個人的列表,每個人都有一個LinkBut​​ton,然后單擊一個將顯示其詳細信息)

如果我離開頁面幾分鍾,它將再次正常工作,幾乎就像阻止OnClick觸發超時的原因一樣。 當然,這對用戶沒有任何用處!

這是LinkBut​​tons的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();
    }
}

所有連接均有效,數據已檢索等,因此,除OnClick觸發外,所有其他功能均有效。 我已經搜索了Internet,發現自第一個ASP.NET以來,這似乎是一個長期存在的問題,但是ASP.NET 3.5沒有解決方案。 有誰知道是什么原因造成的,或者我可能在哪里出錯?

嘗試為您的鏈接按鈕提供OnClientClick =“ Page_BlockSubmit = false”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM