我使用C#和ASP.Net 3.5,並試圖從複選框中獲得「是」/「否」值,而不是真/假。有一種簡單的方法,還是我需要做「if」語句?ASP.Net複選框返回「是」或「否」值(而不是真/假)
回答
完美的解決方案。謝謝Luiscencio – user279521 2010-03-12 20:00:06
不客氣Mr.Dude 279521 – Luiscencio 2010-03-12 20:02:15
可以使用conditional operator:
checkbox.Checked ? "Yes" : "No"
如果你要聰明一點,你可以使用字典:
static readonly Dictionary<bool, string> BooleanNames = new Dictionary<bool, string> {
{ true, "Yes" },
{ false, "No" }
};
BooleanNames[checkbox.Checked]
但是,你真的不應該。
string YesNo = chkYesNo.Checked ? "Yes" : "No";
我相信你正在使用一個asp.net複選框控制來看,在 '選中' 屬性。如果是這樣,您需要聲明將布爾值轉換爲是/否:
string yesNo = checkbox_control.Checked ? "Yes" : "No";
您可以使用三態語句來模擬所需的行爲。
喜歡的東西
string answer = checkbox.Checked ? "Yes" : "No";
會做你莫屬。
如果由於某種原因,您希望從複選框中獲得實際的Yes/No direct(並且我完全沒有理由這麼做),那麼您可以對組件進行子類化,而不是真/假使用字符串。似乎有點愚蠢做到這一點,雖然有效的「是」/「否」是一種人性化,因爲我也沒有更多的代碼來維護這種方式,這是非常標準的。
只給你一個沒有if語句替代(可能不是在這種情況下,最好的辦法,但...):
Dictionary<Boolean, String> strings = new Dictionary<Boolean, String>();
strings.Add(true, "Yes");
strings.Add(false, "No");
然後,當你需要的值:
String yesNo = strings[checkbox.Checked];
如何添加一個擴展方法CheckBox類此:
public static class CheckBoxExtensions
{
public static string IsChecked(this CheckBox checkBox)
{
return checkBox.Checked ? "Yes" : "No";
}
}
用法:
var checkBox = new CheckBox();
checkBox.Checked = true;
Console.WriteLine(checkBox.IsChecked());
// Outputs: Yes
喜歡使用擴展方法來解決這個問題。 – 2010-03-12 20:35:43
不錯=] 7654321 – Luiscencio 2010-03-12 22:12:21
- 1. 複選框返回「真,假」,從的FormCollection而不是選擇價值
- 2. Html.CheckBox返回值不是真/假
- 3. 複選框值真/假
- 4. 有條件的返回空字段,而不是真或假
- 5. 複選框總是返回真值,不管複選框的狀態如何
- 6. 將複選框綁定到值而不是使用反應形式的真/假
- 7. 複選框'Y'/'N'的自定義值而不是真/假。 Angular 2
- 8. yui get複選框返回數組而不是布爾值
- 9. 複選框總是返回檢查它們是否還是不
- 10. 貝寶返回真或假
- 11. PHP獲取返回字符串,而不是布爾值「真/假」值
- 12. PHP - 返回多個狀態,而不僅僅是真/假
- 13. 複選框總是返回一個值
- 14. Excel「真假」複選框
- 15. 速記如果語句總是返回'假'而不是賦值
- 16. 獲取未定義的值而不是真或假
- 17. java單例布爾表達式返回消息而不是真或假
- 18. 在VBA中爲複選框寫入字符串而不是真/假?
- 19. 如何使一個單選按鈕返回布爾真/假,而不是開/關
- 20. gregexpr函數返回不同的結果的Perl是否是真還是假
- 21. HTML複選框單擊()返回FALSE或TRUE而不是READONLY或DISABLED使用jQuery
- 22. 爲什麼「選擇」不會返回真值或是它?
- 23. Excel VBA腳本插入多個複選框鏈接到單元格與是和否而不是真假
- 24. 檢查變量是否爲假,但不是真或不確定
- 25. PROLOG謂詞回答真或假,但不是所需的值
- 26. JQuery或C#檢查「Checked」多選複選框是否爲真
- 27. 布爾輸出是205而不是真或假
- 28. 複選框值真或假替代cshtml中的字符串
- 29. 爲什麼複選框是檢查而HTML值=假
- 30. ASP:BoundField的是/否,而不是真正的假
我很好奇你爲什麼想這樣做?使用布爾值處理比使用表示相同事物的字符串要容易得多。 – 2010-03-12 19:52:54
複選框的值顯示在「打印此頁」中,客戶希望看到「是/否」而不是「真/假」 – user279521 2010-03-12 19:54:32
客戶喜歡「我在控制中」感覺 – Luiscencio 2010-03-12 20:03:19