לגבי הבעיה הראשונה כתוב ככה:
var json = System.Web.Helpers.Json.Encode(obj);
אם לא עובד אז סימן שהספריה json.NET לא מותקנת.
לגבי הבעיה השניה, אכן אין בWebApiControler פונקציה מובנית להחזרת JS. אז ידנית:
public HttpResponseMessage Example(string callback)
{
var obj = new {a = 123};
var json = Json.Encode(obj);
var js = callback + "(" + json + ")";
HttpResponseMessage response = Request.CreateResponse(System.Net.HttpStatusCode.OK, js, new TextPlainFormatter());
response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/javascript");
return response;
}
פורסם במקור בפורום CODE613 ב18/11/2015 15:23 (+02:00)