【发布时间】:2012-12-25 15:11:38
【问题描述】:
这是我的视图模型:
[Serializable]
public class MyViewModel
{
public int VendorId { get; set; }
public HttpPostedFileBase SpreadsheetFile { get; set; }
public IEnumerable<Vendor> Vendors { get; set; }
}
我正在用数据加载我的视图模型并将其传递给视图并对其进行序列化:
@Html.Serialize("MyModel", myViewModel)
但我收到此错误
无法序列化类型“System.Web.HttpPostedFileWrapper”。考虑使用 DataContractAttribute 属性对其进行标记,并使用 DataMemberAttribute 属性标记您想要序列化的所有成员。如果该类型是一个集合,请考虑使用 CollectionDataContractAttribute 对其进行标记。有关其他支持的类型,请参阅 Microsoft .NET Framework 文档。
我不确定如何使用 DataContractAttribute 标记某些内容。有没有办法将 HttpPostedFileBase 属性标记为不可序列化?
【问题讨论】:
-
HttpPostedFileBase是一个抽象类,因此您可能必须创建一个实现才能使某些东西可序列化。
标签: c# asp.net asp.net-mvc