0
我有ASP.Net MVC3應用程序。我的任務是從文件中讀取點並顯示它們。爲了從文件中讀取我使用的DLL。我用javascript繪製它們。 這裏是我的代碼:ASP.Net從控制器傳遞數組到視圖到javascript
// Controller
{
IntPtr lib = LoadLibrary("lib.dll");
// getting points from DLL. I get then as array of strings to serialise later
string[] points = new string[0];
GetArrayPointsAsStrings(points); // I get coordinates - [x1, y1, z1, x2, y2, z2, ..]
FreeLibrary(lib);
JavaScriptSerializer serializer = new JavaScriptSerializer();
serializer.MaxJsonLength = Int32.MaxValue;
string serialized_points = serializer.Serialize(points);
return View(new MyModel(serialized_points));
}
// Model
public class MyModel
{
public string Points { get; private set; }
}
// View
@{
var m = Model;
var array_of_strings_points = m.Points;
}
// object from javascript
var js_obj = new js_obj();
var points_string = '@Html.Raw(@array_of_strings_points)';
js_obj.DrawPoints(points_string);
//js
//.. and here in DrawPoints() I parse the string of points and draw point
我的問題是:是否可以將所有的序列化點從控制器傳遞到字符串的JavaScript這樣?可能有更好的方法將所有的點傳遞給JavaScript?
感謝, 振亞
感謝您的回答!但@ Html.Raw期望字符串..我無法傳遞字符串數組。這就是爲什麼我使用序列化程序的原因 – Zheden
對不起,我在回答中犯了一個錯誤,並在將模型屬性傳遞給'Html.Raw'幫助器之前忘記了'Json.Encode'模型屬性。我已經用一個工作示例更新了我的答案。感謝您指出了這一點。 –
謝謝!有效。我有最後一個問題:我使用JSON.stringify(points)後,如何在DrawPoints()中解析數組? var data_parsed = JSON.parse(i_points); data_parsed [1];或data_parsed.pop()不起作用。 – Zheden