我想一個對象從我的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";
}
所以我必須轉換...序列化我的對象在C#之前,我發回給我的JavaScript? public object setMarker(){ marker markera = new marker(); var javaObj = new JavaScriptSerializer(); var ja = javaObj.ConvertToType(javaObj,somthing); return ja; } 返回類型是什麼? –
據我所知,你需要在webBrowser中編寫一些內容(JS代碼的一部分)。我沒有看到如何使用這個對象。我希望你能爲此找到辦法。所以如果你序列化你的c#對象,你會收到可以在JS代碼中使用的字符串(JSON格式)。像這樣: var obj = new JavaScriptSerializer()。Serialize(options)//其中options是它的C3對象,帶有必要的選項 – AntonE