Обмен данными между Javascript и С#
как это делается: и в гугле, и в форуме часто обсуждалось.
В скрипте написал функцию
MyApplication.prototype.onDragEnd = function(latlng) {
var lat = latlng.lat;
var lng = latlng.lng;
window.external.SaveCoordinates(lat,lng);
}
А в проге класс
[ComVisible(true)]
public class ScriptManager
{
private readonly NewOfferForm newOfferForm;
public ScriptManager(NewOfferForm form)
{
newOfferForm = form;
}
public void SaveCoordinates(double latitude, double longtitude)
{
newOfferForm.latitude = latitude;
newOfferForm.longtitude = longtitude;
}
}
к которому элемент браузера присоединяется через команду
webBrowser.ObjectForScripting = new ScriptManager(this);
Оставить комментарий
dfkmxj
Есть форма, на которой расположен элемент WebBrowser. В программе в качестве страницы для этого браузера задается html файл на диске. Он показывает карту Google Maps и позволяет поставить на ней маркер и его перемещать. При этом нужно, чтобы при нажатии кнопки на форме координаты маркера можно было добавить в базу данных.Первой идеей было обрабатывать событие перемещения маркера и заносить координаты в файл. НО Javascript не разрешает работать с файлами на стороне клиента.
Во-вторых можно в принципе в обработчике события присваивать значения html-форме и там же делать ее submit. Но тогда нужно обрабатывать форму либо php, либо asp скриптами. Для чего нужно дополнительно ставить сервер (Apache или Asp.net development server) и поставлять его вместе с программой, что тоже не айс.
Есть конечно третий вариант. Показывать пользователю координаты и просить его скопировать их в поля на форме. Но уж как-то слишком убого.
Есть у кого-нибудь идеи, как можно решить эту задачу?