为什么按钮不触发单击事件

本文关键字:单击 事件 按钮 为什么 | 更新日期: 2023-09-27 18:33:34

以下是我的代码。它没有给我想要的结果。我不明白这里有什么问题。请告诉我这里出了什么问题。btnbookavil 的 click 事件未被触发,输出中没有错误

SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["LibraryConnectionString"].ConnectionString);
protected void btnsubmit_Click(object sender, EventArgs e)
{
    con.Open();
    SqlCommand cmd = new SqlCommand("bookinsertion", con);
    cmd.CommandType = System.Data.CommandType.StoredProcedure;
    cmd.Parameters.AddWithValue("@idnumber",txtid.Text);
    cmd.Parameters.AddWithValue("@name", txtname.Text);
    cmd.Parameters.AddWithValue("@year", txtyear.Text);
    cmd.Parameters.AddWithValue("@department", txtdepart.Text);
    cmd.Parameters.AddWithValue("@bookname", txtbook.Text);           
    cmd.ExecuteNonQuery();       
    con.Close();
    Response.Redirect("~/LendingForm2.aspx");
}
protected void btnbookavail_Click(object sender, EventArgs e)
{
    con.Open();
    SqlCommand cmd = new SqlCommand("availablebooks", con);
    cmd.CommandType = System.Data.CommandType.StoredProcedure;
    cmd.Parameters.AddWithValue("@bookname", txtbook.Text);
    SqlParameter output=new SqlParameter();
    output.ParameterName="@BooksAvailable";
    output.SqlDbType=System.Data.SqlDbType.Int;
    output.Direction=System.Data.ParameterDirection.Output;
    cmd.Parameters.Add(output);          
    cmd.ExecuteNonQuery();
    con.Close();
    string bookavail = output.Value.ToString();
    if (Convert.ToInt32(bookavail) != 0 && Convert.ToInt32(bookavail) > 0)
    {
        lblbookavail.Visible = true;
        lblbookavail.Text = bookavail + "books are available";
    }
    else
    {
        lblbookavail.Text = "No books available";
    }
}

为什么按钮不触发单击事件

如果不了解整个问题,我就不能说太多。但是,如果输出中没有错误,则意味着在没有可用书籍的情况下您不会收到错误消息,我建议将控件的可见性设置为 true,因为它似乎不可见并且仅在书籍可用时才可见。因此,如果找不到图书,请将标签的 text 属性设置为"无可用图书",但未将其可见性设置为 true。因此,无论结果如何,都要使您的标签可见。

lblbookavail.Visible = true;
if (Convert.ToInt32(bookavail) != 0 && Convert.ToInt32(bookavail) > 0)
       {           
           lblbookavail.Text = bookavail + "books are available";
       }
       else
       {
           lblbookavail.Text = "No books available";
       }

还要检查按钮中是否指定了onclick事件。 以及设置为 true 的任何CausesValidation。如果有分配它假。检查这个

也许,只是也许,设计器属性中的按钮名称与您在代码隐藏中的名称不匹配,请验证这一点。