使用新的ASP.NET MVC Web API,我收到以下错误
The type InfoboardPage was not expected. Use the XmlInclude or SoapInclude attribute to specify types that are not known statically.
我正在尝试返回所有来自同一个类的对象列表:InfoboardItem
我已根据指示为每个相关类型添加了XmlInclude
属性,但我仍然收到此错误。
[HttpGet]
[XmlInclude(typeof(InfoBoardEvent))]
[XmlInclude(typeof(InfoboardPage))]
[XmlInclude(typeof(InfoboardEventVisitor))]
public List<InfoboardItem> Pages(int ClientNum, int SiteNum, int LangNum)
{
Data infoboardData = new Data(ClientNum, SiteNum, LangNum, 1);
var obRetVal = infoboardData.GetPageSequence("~/InfoBoard");
return obRetVal;
}
以前有人见过这个问题吗?有解决方案吗?或者这是产品的问题吗?
答案 0 :(得分:2)
您需要将[XmlInclude]
声明添加到InfoboardItem类型,而不是操作,以将派生元素作为XML返回。