Я пытаюсь вызвать веб-службы для возврата объекта, но он бросает ошибку какWebSerive вызовов через JQuery Ajax
{ «Сообщение»: "Не удается преобразовать объект типа \ u0027System.Int32 \ u0027 ввести \ u0027System.Collections.Generic.IDictionary`2 [System.String, System.Object] \ u0027 "," StackTrace ":" в System.Web.Script.Serialization.ObjectConverter.ConvertObjectToTypeInternal (Object o, Тип типа, JavaScriptSerializer serializer, Boolean throwOnError, Object & convertObject) \ r \ n в System.Web.Script.Serialization.ObjectConverter.ConvertObjectToTypeMain (Object o, Тип типа, JavaScriptSerializer serializer, Boolean throwOnError, Object & convertObject) \ r \ n в System.Web.Script. Serialization.JavaScriptSerializer.Deserialize (JavaScriptSe rializer serializer, String input, Тип типа, Int32 depthLimit) \ r \ n в System.Web.Script.Serialization.JavaScriptSerializer.Deserialize [T] (ввод строки) \ r \ n в System.Web.Script.Services.RestHandler. GetRawParamsFromPostRequest (контекст HttpContext, сериализатор JavaScriptSerializer) \ r \ n в System.Web.Script.Services.RestHandler.GetRawParams (метод WebServiceMethodDataData, контекст HttpContext) \ r \ n в System.Web.Script.Services.RestHandler.ExecuteWebServiceCall (контекст HttpContext , WebServiceMethodData methodData)», "ExceptionType": "System.InvalidOperationException"}
Вот мой образец JavaScript
<script type="text/javascript">
$(function() {
$('#<%=ddlUserGroup.ClientID %>').change(function() {
UserGroupID = $('#<%= ddlUserGroup.ClientID %>').val();
$.ajax({
url: "WebService.asmx/GetMenu",
data: UserGroupID,
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8",
success: function (result) {
var rootNode = $("#tree").dynatree("getRoot");
rootNode.removeChildren();
rootNode.addChild($.parseJSON(resp.Data));
},
error: function (jqXHR, textStatus, errorThrown) {
var loginUrl = jqXHR.getResponseHeader("loginUrl");
if (jqXHR.status == 502) {
window.location = loginUrl;
}
else {
alert('error' + errorThrown);
}
}
});
});
</script>
и это мой WebService
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
[WebMethod]
public object GetMenu(int roleID)
{
var menuItems = new TblUserGroupMenuService().GetMenuByUserGroupID(Common.ToInt32(roleID));
List<TblmenuInfo> list = new List<TblmenuInfo>();
foreach (DataRow dr in menuItems.Rows)
{
list.Add(new TblmenuInfo
{
Id = Common.ToInt32(dr["ID"]),
Label = dr["Name"].ToString(),
// Url = dr["Url"].ToString(),
// Iconurl = dr["IconURL"].ToString(),
Parentid = Common.ToNInt32(dr["ParentID"]),
//Order = Common.ToInt32(dr["DisplayOrder"])
});
}
return list.AsHierarchy(o => o.Id, parent => parent.Parentid, orderBy => orderBy.Order).AsExtTreeNodes((o, children) => new ExtTreeNode<int>
{
Key = o.Id,
Title = o.Label,
Select = (o.Order < 9999),
IsFolder = children > 0
});
}