我有一個數據源遞給我一個IEnumerable<SelectListItem>
每個selectListItem中的文本都是大寫的。我想找到最簡單的方法來將它們改爲適當的情況,而不用實際更改數據源。將SelectList中所有SelectListItems的文本字段轉換爲正確的大小寫
0
A
回答
2
我認爲最好的答案可能是在傳遞給您的視圖之前將您的Enumerable轉換爲SelectListItems,然後將該案例轉換爲TitleCase。爲你一些虛假代碼:
鑑於此數據源:
EnumerableItems = new List<string>() { "ITEM ONE", "ITEM TWO" };
我有這個在我的視圖模型:
public string BoundValue { get; set; }
public IEnumerable<SelectListItem> SelectListItems { get; set; }
我設置像這樣的SelectListItems:
viewModel.SelectListItems = from e in EnumerableItems
select new SelectListItem
{
Selected = e == dto.BoundValue,
Text = System.Threading.Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(e.ToLower()),
Value = e
};
在我的觀點是這樣的:
@Html.DropDownList("BoundValue", new SelectList(Model.SelectListItems, "Value", "Text"), "-- select --")
而且我得到這個:
從理論上講,我認爲你也可以通過調用ToTileCase其中「文本」的說法是更改視圖的情況下,但是這將是不乾淨的,我認爲。
編輯:我修改的代碼創建SelectListItem具有值保持大寫(如電子,而不是e.ToTitleCase()) - 因爲我猜它會結合您的原始數據源最終:)
0
好的,努力提供一個小方向。如果您擁有爲的每個列表項,您都有一個選項。覆蓋ToString()
方法。像這樣也許:
public override string ToString()
{
// here is a really primitive algorithm
return string.Format("{0}{1}",
this.DisplayProperty.Take(1),
this.DisplayProperty.Substring(1).ToLower());
}
但是,如果你沒有自己的類是你很卡住,因爲你不想修改數據源中的每個列表項。
相關問題
- 1. 將字符串轉換爲Google Apps腳本中的正確/標題大小寫
- 2. 將XmlDocument中的所有文本都轉換爲小寫
- 3. 將小寫字母轉換爲大寫
- 4. 將小寫字母轉換爲大寫
- 5. 將字典中的所有密鑰轉換爲小寫字母
- 6. 如何在Vim中將所有文本轉換爲小寫
- 7. JavaFX的文本字段:自動轉換文本爲大寫
- 8. 如何在Excel中自動將小寫字段轉換爲大寫字段?
- 9. 句柄大小寫或文本框中的正確大小寫
- 10. 將所有大寫標籤轉換爲小寫?
- 11. CMake正則表達式將小寫字母轉換爲大寫
- 12. 如何將一個類的所有字符串字段轉換爲大寫
- 13. .htaccess將大寫字母轉換爲小寫字母的目錄
- 14. 在C++中將小寫字母轉換爲大寫字母
- 15. 在java中將小寫字母轉換爲大寫字母
- 16. AppCompat v22.1.0不會將所有的xml小部件正確地轉換爲片段
- 17. jquery的文本字段轉換爲大寫/ lovercase
- 18. 將小寫形式轉換爲大寫?
- 19. 將小寫字母轉換爲大寫字母錯誤:正好(在結果中
- 20. 將文本轉換爲大寫在Salesforce
- 21. 將動畫文本轉換爲大寫
- 22. VBA轉換爲正確的大小寫跳過某些詞
- 23. Java代碼複製所有文本,同時將大寫字母從一個文本文件轉換爲另一個文本文件中的小寫字母
- 24. 如何將數字字段(大小:10)轉換爲字符字段(大小:7)
- 25. 將字符串轉換爲所有大寫字母與std :: transform
- 26. 在php中將俄文字符從大寫字母轉換爲小寫字母
- 27. 在tn_shell腳本中將小寫轉換爲大寫
- 28. 在C++中將字符轉換爲大寫和小寫
- 29. 在javascript中將小寫字母轉換爲大寫
- 30. 如何在utthon中將utf大寫字符轉換爲小寫
你是否擁有每個項目的課程? –