2012-03-29 74 views
0

使用新的ASP.NET MVC的Web API,我发现了以下错误的.NET 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; 
} 

有没有人见过这个问题?有解决方案吗?或者这是产品的问题?

回答

2

您需要将[XmlInclude]声明添加到InfoboardItem类型而不是操作,以将派生元素作为XML返回。

+0

这似乎已经伎俩,非常感谢。现在要解决新的,模糊的错误! – AndyBursh 2012-03-29 12:59:59