[英]Error serializing asp.net objects (table)
我想將整個asp表保存為SQL作為對象,而不是保存表的每個元素,然后從中重建表。 我想到的是序列化對象,將其作為字符串保存到SQL,然后檢索它並在需要時反序列化。 我所做的就是將表傳遞給Serialize方法:
public static string Serialize(Table table)
{
var serializer = new XmlSerializer(typeof(Table));
TextWriter writer = new StringWriter();
serializer.Serialize(writer, table);
return writer.ToString();
}
但是這條線
var serializer = new XmlSerializer(typeof(Table));
給我一個例外:
用戶代碼未處理InvalidOperationException。發生錯誤,反映了類型'System.Web.UI.WebControls.Table'。
這僅在我嘗試過的所有類型的表類型中發生。
System.Web.UI.WebControls.Table
類型未標記為Serializable ,並且未實現ISerializable 。 如果沒有這些,則無法序列化。 您甚至無法序列化Rows屬性。 TableRow及其使用的其他類不可序列化。
最好的方法是將Rows屬性中的值讀入可以序列化的內容(例如List<List<string>>
或最好是更強類型的內容)並進行序列化。
創建一個類,並使用表中的值填充其屬性並序列化該對象
喜歡
公共類SomeClass {屬性。 ...}
SomeClass myClass =新的SomeClass()
填充它
var serializer =新的XmlSerializer(SomeClass)。
像這樣
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.