2016-04-26 25 views
0

好日子從我的C#發送JAVAOBJECT

我想一個對象從我的C#程序發送到我的javascript我使用的web瀏覽器對象,以顯示自己的網站上我的形式app.And我需要幫助發送對象來自C#。

這裏是我的javascript代碼工作:

map.addMarker({ 
id: 1, 
lat: -26.9200682, 
lng: 28.5713688, 
icon: "icons/red.png" 
event: { 
name: 'click', 
callback: function() { 
    window.external.Test('Marker 1') 
    } 
} 
}); 

以下是我認爲我的JavaScript應該像如果我想獲得一個對象:

map.addMarker({ 
var obj:window.external.setMarker() 

} );

以下是在對象製作正確時執行的功能。 addMarker: function(opts) { var marker; opts.position = { lat: opts.lat, lng: opts.lng } marker = this._createMarker(opts); if (opts.event) { this._on({ obj: marker, event: opts.event.name, callback: opts.event.callback }); } },

這裏是被稱爲C#代碼:如果你需要有從JS代碼訪問C#對象,可序列化的C#對象

public class marker 
    { 
     public int MyProperty { get; set; } 
     public int id { get; set; } 
     public double lat { get; set; } 
     public double lng { get; set; } 
     public string icon { get; set; } 

     public marker() 
     { 
      id = 3 ; 
      lat = -28.9200682 ; 
      lng = 29.8713688; 
      icon = "icons/red.png"; 

     } 

回答

0
+0

所以我必須轉換...序列化我的對象在C#之前,我發回給我的JavaScript? public object setMarker(){ marker markera = new marker(); var javaObj = new JavaScriptSerializer(); var ja = javaObj.ConvertToType(javaObj,somthing); return ja; } 返回類型是什麼? –

+0

據我所知,你需要在webBrowser中編寫一些內容(JS代碼的一部分)。我沒有看到如何使用這個對象。我希望你能爲此找到辦法。所以如果你序列化你的c#對象,你會收到可以在JS代碼中使用的字符串(JSON格式)。像這樣: var obj = new JavaScriptSerializer()。Serialize(options)//其中options是它的C3對象,帶有必要的選項 – AntonE