2016-06-01 55 views
0

我想單擊按鈕時插入或調用布爾函數。如何通過單擊按鈕調用布爾值

據稱,這是布爾:

private bool IsCritical(int ProductID, int Quantity, int Available, int Criticallevel){ 
    bool existing = true; 

    cn.Open(); 

    SqlCommand cmd = new SqlCommand(); 
    cmd.Connection = cn; 
    cmd.CommandText = "SELECT Products.CriticalLevel, Products.Available, OrderDetails.Quantity FROM Products, OrderDetails WHERE [email protected]"; 
    cmd.Parameters.AddWithValue("@productid", ProductID); 


    cmd.Parameters.AddWithValue("@productid",ProductID); 

    SqlDataReader dr = cmd.ExecuteReader(); 

    if(Available < Quantity) 
    { 
     return false; 
    } 
    else 
    { 
     int currentQty = Available - Quantity; 
     if(currentQty >= Criticallevel) 

     { 
      return false; 
     } 
    else return true; 
    } 

    cn.Close(); 

    return existing; 
} 

,但我無法找到一個方法來調用它。

protected void btnAdd_Click(object sender, EventArgs e) 
{ 
    Response.Redirect("~/Account/AddToCart.aspx?ID=" + 
    Request.QueryString["ID"].ToString() + 
    "&qty=" + txtQty.Text); 
} 

數量對應於客戶購買的一種產品的數量。 數量應該低於或等於臨界水平。

我想要發生的是,當我點擊添加按鈕,布爾將運行。如果數量低於或等於臨界水平,則程序應繼續執行Add_Click事件中的「Response.Redirect」。否則,錯誤消息應顯示已達到臨界水平。

回答

0

試試這個:

protected void btnAdd_Click(object sender, EventArgs e) 
{ 
    //Change ProductID, Quantity, Available, Criticallevel to actual values 
    if (!IsCritical(ProductID, Quantity, Available, Criticallevel)) 
    { 
     Response.Redirect("~/Account/AddToCart.aspx?ID=" + 
     Request.QueryString["ID"].ToString() + 
     "&qty=" + txtQty.Text); 
    } 
    else 
    { 
     //Write error message here 
    } 
} 
+0

感謝您的幫助:) 但是,我知道你所說的「實際值」是什麼意思? – Izelblade

+0

我不知道你傳遞給IsCritical方法的值是多少,這就是爲什麼你需要改變你實際傳遞的值。 –