2016-11-21 8 views
3

ich lange Typ Sitzung auf Server-Seite Code verfolgt habendefinieren eine lange Reihe in jquery Klickfunktion

long[] grouparray = ..; 

Session["grouplist"] = grouparray; 

nun diese Sitzung auf View Seite des Ich versuche, Jquery Klickfunktion

$("#gpline").click(function() { 

    parseInt(@Session["grouplist"]); 
    var grouplistvalues = Session["grouplist"]; 

    alert(grouplistvalues); 

}); 

zu erhalten aber das ist mit Fehler, wenn ich Firebug mit debug

SyntaxError: expected expression, got ']'

parseInt(System.Int64[]);

+5

Sie scheinen über die Trennung zwischen Clientseite und serverseitigem Code verwirrt zu sein. Sie müssen den serverseitigen Code in einer erwarteten Weise an den Client ausgeben. Das Aufrufen serverseitiger Konstrukte wie der 'Session' wird nicht funktionieren. –

+0

@RoryMcCrossan das scheint wie MVC Rasierersyntax, wenn so kann Server Side Code in den Ansichten verwendet werden. –

+0

Wahr, aber Sie müssten es mit "@" voranstellen, und selbst dann müssen Sie das Array von 'long' serialisieren, so dass JS es verstehen kann. –

Antwort

5

Sie müssenverwenden 10 und @Html.Raw auf Ihren C# -Daten, um es mit Ihren Skripten kompatibel zu machen.

Versuchen Sie es.

$("#gpline").click(function() { 

    var grouplistvalues = @Html.Raw(Json.Encode(Session["grouplist"])); // converting the session data into array of numbers in javascript variable 

    alert(JSON.stringify(grouplistvalues)); // stringify is used only to test. 

}); 
+0

das ist Arbeit :) thnks – kez

+0

:) wenn es das Problem behoben Sie es als Antwort markieren. @ Kez –

+0

System benötigt, um weitere 5 Minuten zu bleiben, um es zu akzeptieren: D – kez

Verwandte Themen