2013-08-26 194 views
0

我有2個選項 - 沙灘巴赫 -Bush巴赫設置會話變量

我想創建 我在做正確

Session["beachBach"] = bachRadioButtonList.SelectedValue = "Beach bach"; 
Session["bushBach"] = bachRadioButtonList.SelectedValue = "Bush bach"; 

所以如果用戶按2會話變量一個單選按鈕列表選擇「海灘巴赫」,1將加入Session [「beachBach」] 同樣去布什巴赫

或者我需要創建2個radiobuttonlist?

謝謝

+0

嗨,你使用相同的單選按鈕更改選定的值? –

+0

當你運行上面指定的代碼Session [「beachBach」]變量將concist字符串「沙灘巴赫」,而不是1 –

回答

1

我想你想==,而不是=

Session["beachBach"] = bachRadioButtonList.SelectedValue == "Beach bach"; 
Session["bushBach"] = bachRadioButtonList.SelectedValue == "Bush bach"; 

否則你設置每個單選按鈕,然後存儲在會話變量該字符串SelectedValue。如果您使用==,則您將的值進行比較,並在會話變量中存儲truefalse

如果你真的存儲10(我不推薦 - bool值應該只是罰款,並會在服務器端代碼清潔)只使用(condition) ? (true) : (false)三元運算符:

Session["beachBach"] = bachRadioButtonList.SelectedValue == "Beach bach" ? 1 : 0; 
Session["bushBach"] = bachRadioButtonList.SelectedValue == "Bush bach" ? 1 : 0; 
-1

如果值不相互排斥,則創建兩個單選按鈕列表。我是他們,他們必須在同一個列表中以確保一次只選擇其中一個。

+0

嗨,你是什麼意思, –

0

根據我的理解,您希望根據選定的單選按鈕的值設置一個會話變量。對於您可以這樣做:

// If bachRadioButtonList SelectedValue != "Beach bach", 
// clear session variable, else set value to "Beach bach" 
Session["beachBach"] = (bachRadioButtonList.SelectedValue != "Beach bach") ? null : "Beach bach"; 

// If bachRadioButtonList SelectedValue != "Bush bach", 
// clear session variable, else set value to "Bush bach" 
Session["bushBach"] = (bachRadioButtonList.SelectedValue != "Bush bach") ? null : "Bush bach"; 
+0

嗨,感謝您的幫助,但是當我將這些會話變量轉移到我的其他頁面,如果我選擇了2個選項中的1個,它不會添加1個事件:( –

+0

)您如何轉到其他頁面?請發佈更多代碼... –

+0

如何將部分代碼發送給您。 ..所以你可以幫我出去:(。 –

0

不是存儲的值1(你的代碼不會做),你應該保存一個布爾值(truefalse)。

Session["beachBach"] = (bachRadioButtonList.SelectedValue == "Beach bach"); 
Session["bushBach"] = (bachRadioButtonList.SelectedValue == "Bush bach"); 

但是,您將不得不攜帶兩個會話變量,它並不是很棒。如果有一天你有50個單選按鈕,你不需要50個會話變量。相反,你可以創建一個枚舉,並融入會話變量你想要的選擇:

public enum BachEnum 
{ 
    Beach, 
    Bush 
} 

Session["bach"] = (bachRadioButtonList.SelectedValue == "Beach bach") ? BachEnum.Beach : BachEnum.Beach; 

然後,您可以用新值擴展您的枚舉和條件,可以這樣做:

if ((BachEnum)Session["bach"] == BachEnum.Beach) 
    // do stuff 
0

你可以使用selectedIndexChange事件。

void SelectedIndex_Changed(Object sender, EventArgs e) 
{ 

    Session["SelValue"] = RadioButtonList1.SelectedItem.Value; 
} 

在任何情況下,我不知道你想達到什麼樣的,但我敢肯定,你應該考慮不使用兩個單會話變量這一點。