2014-12-09 3 views
0

다음은 제 코드입니다. 원하는 결과를 얻지 못했습니다. 나는 여기서 문제가 무엇인지 이해할 수 없다. 여기서 뭐가 잘못 됐는지 말해줘. 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

중단 점을 사용하고 컨트롤이 _click 블록 내부로 들어가는 지 보셨습니까? 당신은 당신의 버튼을위한 디자인 페이지 코드를 줄 수 있습니까? – Codeek

+0

예 중단 점을 사용했지만 컨트롤이 그 안에 들어 가지 않습니다. –

+0

버튼의 aspx 코드를 표시 할 수 있습니까? 거기에 사용되는 유효성 검사 컨트롤이 있습니까? – Codeek

답변

1

전체적인 문제를 이해하지 못하더라도 크게 말할 수는 없습니다. 하지만 출력물에 오류가 없으면 사용할 수있는 책이없는 경우에 오류 메시지가 나타나지 않는다는 것을 의미합니다. 컨트롤이 보이지 않고 책을 사용할 수있을 때만 표시되도록 컨트롤의 표시를 설정하는 것이 좋습니다. 따라서 책을 찾을 수없는 경우 레이블의 텍스트 속성을 '사용할 수있는 책 없음'으로 설정하지만 표시 여부는 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

0

아마도 디자이너 속성의 단추 이름이 코드 숨김 이름과 일치하지 않을 수도 있습니다.

+0

@ Ovy.Istarate, suggetions에 대한 설명을 사용하십시오. –

관련 문제