以下是我的代码。 它没有给我想要的结果。我无法理解这里的问题是什么。请告诉我这里有什么问题。没有触发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";
}
}
答案 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)
也许,只是可能,设计师属性中的按钮名称与后面代码中的名称不匹配,请验证。