2009-11-23 57 views
1

我有以下設置,一個ddl(ddlProd,radBuyer)和自動完成文本框(txtProdAC,radProd),當填充它們和它們各自的單選按鈕時,數據的網格視圖是製作......可愛的東西。If/else order sequence issue

protected void btSearch_Click(object sender, EventArgs e) 
{ 
    lqPackWeights.WhereParameters.Clear(); 
    ControlParameter cp = new ControlParameter(); 
    cp.Type = TypeCode.String; 

    if (radBuyer.Checked) 
    { 
     cp.ControlID = "ddlProd"; 
     cp.PropertyName = "SelectedValue"; 
    } 

    if (radProd.Checked) 
    { 
     cp.ControlID = "tbxProdAC"; 
     cp.PropertyName = "Text"; 
    } 
    else  
    { 
     cp.ControlID = "lbRadMiss"; 
     cp.PropertyName = "Text"; 
     lbRadMiss.Text = "Please check appropriate radio button before you attempt a search"; 
    } 

    cp.Name = "IDDesc"; 
    lqPackWeights.WhereParameters.Add(cp); 
    GridView1.DataSourceID = "lqPackWeights"; 
    GridView1.DataBind();   

} 

我被困在else部分,這樣,當用戶沒有打一個單選按鈕搜索按鈕被選中,標籤會出現,並說:「請檢查...等」

這工作正常但我有一個小問題。如果用戶產生了這個驗證(else),他或她自然會碰到適當的單選按鈕,然後再次單擊搜索。但是,如果遵循此過程,我的代碼似乎忽略它的工作,並且不會選擇ddl的選定值或tbxProdAC中的文本。 else標籤保持不變,網格視圖保持空白。

有人可以用這個指向我的方向。

回答

1

你可能想(而不只是空當)

else if (radProd.Checked) 

+0

我愛血腥你!!!! – MrDean 2009-11-23 18:53:55

+0

這讓我瘋狂了......如果其他地方我嘗試了別的東西(原諒pun0但是沒有奏效,非常感謝。 – MrDean 2009-11-23 18:54:32

1
else  
{ 
    cp.ControlID = "lbRadMiss"; 
    cp.PropertyName = "Text"; 
    lbRadMiss.Text = "Please check appropriate radio button before you attempt a search"; 


    ///Include this line 
    return; 

} 
+0

嗯,他可能希望二者的迴歸,以及否則,如果在radprod.checked – McKay 2009-11-23 18:49:26

1

你想要的,而不是下面?

if (radBuyer.Checked) 
{ 
    cp.ControlID = "ddlProd"; 
    cp.PropertyName = "SelectedValue"; 
} 

else if (radProd.Checked) 
{ 
    cp.ControlID = "tbxProdAC"; 
    cp.PropertyName = "Text"; 
} 

else  
{ 
    cp.ControlID = "lbRadMiss"; 
    cp.PropertyName = "Text"; 
    lbRadMiss.Text = "Please check appropriate radio button before you attempt a search"; 
}