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

时间:2014-12-09 04:46:18

标签: c# asp.net

以下是我的代码。 它没有给我想要的结果。我无法理解这里的问题是什么。请告诉我这里有什么问题。没有触发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";
    }
}

2 个答案:

答案 0 :(得分:1)

如果不了解整个问题,我不能说太多。但是,如果输出中没有错误,则表示您没有收到错误消息,以防没有可用的书籍,我建议将控件的可见性设置为true,因为它看起来不可见,只有在书籍可用时才可见。因此,如果找不到书籍,则将标签的text属性设置为“No books available”,但不要将其可见性设置为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事件。并且任何CausesValidation设置为true。如果有分配它是假的。 查看this

答案 1 :(得分:0)

也许,只是可能,设计师属性中的按钮名称与后面代码中的名称不匹配,请验证。