2012-03-29 72 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