2012-08-03 142 views
0

我有一个像我下面的Web服务方法:自动完成JSON问题

<WebMethod()> _ 
    Public Function TravelMeansList(ByVal prefix As String) As List(Of HRM_travellingMeans) 
     Dim ctx As New HRMEntities 
     Dim query = From c In ctx.HRM_travellingMeans Where c.name.ToUpper.StartsWith(prefix) Select c 

     If query.Count > 0 Then 
      Return query.ToList() 
     Else 
      Return Nothing 
     End If 

    End Function 

和我的脚本像下面

<script type="text/javascript"> 
    $(document).ready(function() { 

     $("#<%=travelmeansTextBox.ClientID %>").autocomplete({ 


      source: function (request, response) { 
       $.ajax({ 
        url: '<%=ResolveUrl("../../services/ApplicationService.asmx/TravelMeansList") %>', 
        data: "{ 'prefix': '" + request.term + "'}", 
        dataType: "json", 
        type: "POST", 
        contentType: "application/json; charset=utf-8", 
        dataFilter: function (data) { return data; }, 
        success: function (data) { 
         response($.map(data.d, function (item) { 
          return Json({ 

            value: item.name 
          }) 
         })) 
        }, 
        error: function (response) { 
         alert(response.responseText); 
        }, 
        failure: function (response) { 
         alert(response.responseText); 
        } 
       }); 
      }, 
      select: function (e, i) { 

      }, 
      minLength: 1 
     }); 




    }); 
    </script> 

我的问题是,任何时候我尝试输入我的文本框的任何字母i得到此错误

在System.Web.Script.Serialization.JavaScript中序列化\ u0027System.Data.Metadata.Edm.AssociationType \ u0027。“,”StackTrace“:”类型的对象时检测到循环引用Serializer.SerializeValueInternal(Object o,StringBuilder sb,Int32 depth,Hashtable objectsInUse,SerializationFormat serializationFormat,MemberInfo currentMember)\ r \ n在System.Web.Script.Serialization.JavaScriptSerializer.SerializeValue(Object o,StringBuilder sb,Int32 depth,Hashtable objectsInUse ,SerializationFormat serializationFormat,MemberInfo currentMember)\ r \ n System.Web.Script.Serialization.JavaScriptSerializer.SerializeCustomObject(Object o,StringBuilder sb,Int32 depth,Hashtable objectsInUse,SerializationFormat serializationFormat)\ r \ n。 Serialization.JavaScriptSerializer.SerializeValueInternal(Object o,StringBuilder sb,Int32 depth,Hashtable objectsInUse,SerializationFormat serializationFormat,MemberInfo currentMember)\ r \ n在System.Web.Script.Serialization.JavaScriptSerializer.SerializeValue(Object o,StringBuilder sb,Int32 depth, Hashtable objectsInUse,SerializationFormat serializationFormat,MemberInfo currentMember)\ r \ n在System.Web .Script.Serialization.JavaScriptSerializer.SerializeEnumerable ......

我在做什么错。

+0

发布你的班级结构 – Shyju 2012-08-03 14:59:03

+0

@Shyju我的班级结构是:公共ID为Int32,公共名称为字符串 – 2012-08-03 15:05:38

回答