2017-10-26 1 views
0

Ich arbeite mit ASP.net Web Form und möchte einfügen Pins auf Bing Karte. Ich benutze jquery ajax call, um eine Liste von Fotos zu erhalten, bei denen ich Längen- und Breitengrad zwischen den anderen Eigenschaften behalte.asp.net Web Forms mit Ajax Anruf Rückgabe Iienumerable

HTML:

<asp:Content runat="server" ContentPlaceHolderID="MainContent"> 
<div style="width: 100px;"> 
    <div style="float: left; width: 700px"> 
     <asp:Panel ID="pnlMap" runat="server" Style="position: absolute; width: 600px; height: 450px;" /> 
    </div> 
</div> 

Web-Methode:

[WebMethod] 
    [ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet = true, XmlSerializeString = false)] 
    public static IEnumerable<Photo> GetAllVisiblePhotos() 
    { 
     using (SqlConnection conn = new SqlConnection(... return photos; 

und es gibt wirklich Liste der Fotos.

JavaScript-Funktionen sind:

function GetPhotos() { 
$.support.cors = true; 
try { 
    $.ajax({ 
     url: 'Default.aspx/GetAllVisiblePhotos', 
     type: 'GET', 
     dataType: 'json', 
     contentType: "application/json; charset=utf-8", 
     success: DisplayPics, 
     error: OnError 
    }); 
} 
catch (err) { 
    alert(err.message); 
} 
} 

function DisplayPics(response) { 
var location; 
var pin; 
$.each(response, function (index, photo) { 
    location = new Microsoft.Maps.Location(photo.Latitude, photo.Longitude); 
    pin = new Microsoft.Maps.Pushpin(location); 
    pin.Title = photo.Title; 
    pin.ID = photo.PhotoID; 
    dataLayer.push(pin); 
}); 
} 

Aber ich bekomme keine Reißzwecke auf der Karte. Was ist falsch?

Antwort

1

Response ist von response.d zur Verfügung, so

ändern
$.each(response, function (index, photo) { 

Um

$.each(response.d, function (index, photo) { 
Verwandte Themen