我想從DotnetNuke收集userInfo到我的javascript網頁。 要收集它,我利用$ .getJSON:如何從javascript訪問DotnetNuke.Entities.Users
$.getJSON("/DesktopModules/myModule/API/Service/GetUsers", "portalId=2",
function (allData) {
var mappedUsers = $.map(allData, function (item) {
return new myModule.User(item);
});
self.Users(mappedUsers);
});
我有這樣的服務控制器:
public class ServiceController : DnnApiController
{
[AllowAnonymous]
[HttpGet]
public HttpResponseMessage GetUsers(int portalId)
{
myController controller = new myController();
ArrayList items = controller.GetUsers(portalId);
return Request.CreateResponse(HttpStatusCode.OK, items);
}
}
public class myController // : ISearchable, IPortable
{
public ArrayList GetUsers(int portalId)
{
return UserController.GetUsers(portalId);
}
}
按照DNN API文檔的方法定義爲:
public static ArrayList GetUsers(
int portalId
)
但當我在瀏覽器中測試我的服務時,它會失敗,並顯示以下錯誤: 「鍵入'DotNetNuke.Entities.Users.UserInfo',數據協定名稱爲'UserInfo:http://schemas.datacontract.org/2004/07/DotNetNuke.Entities.Users'不是預期的。考慮使用DataContractResolver或將任何不知道的類型靜態添加到已知類型列表中 - 例如,通過使用KnownTypeAttribute屬性或將它們添加到傳遞給DataContractSerializer的已知類型列表中。「
任何想法如何解決這個?
如果這個DNN 7? – braindice 2015-01-19 19:16:18