有沒有辦法檢查你的會話變量是否包含某些內容......就像列表中有一個方法「Contains」一樣。有沒有類似的東西?一些方法或東西?ASP.NET MVC 5會話
回答
當您從Session
檢索項目時,它們的類型爲System.Object
。這意味着你沒有得到對象的實際類型的任何實際方法。您可以將它轉換爲正確的類型。在這種情況下,這聽起來像你正在存儲一個List<string>
。所以我們可以使用as operator。如果對象不是這種類型或者爲空,myList
將爲空。否則它將是您指定的類型。
List<string> myList = Session["myKey"] as List<string>();
if(myList == null)
{
//either Session["myKey"] was null or the object wasn't a List<string>
}
else
{
if(myList.Contains("fuzzy puppies"))
{
//your list contains fuzzy puppies
}
else
{
//your list doesn't contain fuzzy puppies
}
}
在對象上調用.ToString()
會根據對象類型給出不同的結果。默認行爲是打印出對象的類型。但類型可以覆蓋此行爲。例如,在字符串上調用.ToString()
只會給你字符串本身。在代表某個XML的對象上調用.ToString()
可能會將XML作爲字符串提供給您。由於List<string>
不覆蓋System.Object.ToString()
的默認行爲,它只是打印出「System.Collections.Generic.List`1 [System.String]」
首先檢查Session [「yoursession_var」]是否爲空。然後轉換爲List()。然後使用Exists(),如下所述:how to use Exist in List<string> in C#
'.ToString()'不會轉換爲字符串。爲什麼要使用IndexOf來代替[String.Contains](https://msdn.microsoft.com/en-us/library/dy85x1sa(v = vs.110).aspx)? – mason
從技術上講,你可以使用(string)Session [「yoursession_var」],任何一個都會得到一個字符串,然後你可以使用IndexOf()或Contains()。至於爲什麼我不使用Contains(),數學運算通常比字符串運算更有效,但是如果你看一下CLR,你會發現Contains()在引擎下使用IndexOf(),所以差異相同。順便說一句,我會盡量避免魔術字符串 - 常量更好。 –
1)Contains是專門用於檢測一個字符串是否包含另一個字符串,並且不需要在BCL中重新實現代碼。2)ToString不是強制轉換3)問題是關於List
嗨,你可以嘗試鑄造你的會議,所以它可以有一個類型爲示例
var listofperson = Session["ListofPerson"] as List<string>;
var hasGeorge = listofperson.Contains("George");
- 1. ASP.NET MVC會話
- 2. MVC 5會話超時
- 3. IIS 5屆和Asp.Net會話
- 4. asp.net mvc會話超時
- 5. ASP.NET MVC會話狀態
- 6. ASP.NET MVC LCID和會話
- 7. ASP.NET MVC會話到期
- 8. ASP.NET MVC 4會話超時
- 9. ASP.Net MVC - TempData會話問題
- 10. 在ASP.NET MVC會話超時
- 11. 在ASP.NET MVC中的會話
- 12. MVC ASP.net會話是空的
- 13. 如何在ASP.NET MVC 5中設置和檢索會話?
- 14. 如何在asp.net中關閉所有用戶會話mvc 5
- 15. 用asp.net mvc 5設置會話變量的值
- 16. 認證後的MVC 5會話
- 17. 禁用無Cookie會話.Net MVC 5
- 18. 會話超時絕不會在asp.net mvc
- 19. ASP.NET MVC 5 HttpPost
- 20. ASP.NET 5和MVC
- 21. ASP.NET 5 MVC 6中會有SSRS reportviewer嗎?
- 22. 的NullReferenceException ASP.NET MVC 5
- 23. ASP.NET MVC 5和Session
- 24. ASP.Net MVC 5 + SignalR + Ninject
- 25. ASP.NET MVC 5 DropDownList selectedindexchanged
- 26. ASP.NET MVC 5 + Owin + SimpleInjector
- 27. ASP.NET MVC 5和LightInject
- 28. ASP.NET MVC 5插件
- 29. Asp.net MVC 5路由
- 30. ASP.NET MVC會話爲空。會話變量沒有被設置
您是否試圖查看會話本身是否包含某些內容?或者如果Session中的某個對象包含某些內容? – mason
@mason如果會話中的某個對象包含某些東西 – john
您只需將其轉換爲正確的對象類型,則可以使用該對象上的任何方法。 – mason