У меня есть приложение Win Forms с Chromium. Моя цель - получить строковую переменную (json), сгенерированную ведьмой на земле C #, для использования с функцией javascript. Я не могу получить это в javascript-стране.
Я создал mefod getJSON () в JSObj.cs - он генерировал json. И я видел строку из метода. Я зарегистрировал oblect JSObj на Form1.cs (здесь у меня есть Chromium). Я вызвал JSObj.getJSON () из html с кнопкой, но я не сделал json в коде JavaScript!
<button class="btn btn-info" id="btn3">Test Winform Interaction</button>
$("#btn3").on('click', function () {
alert(jSObject.getJSON()[0]);
});
public string getJSON()
{
DispHandler hand = new DispHandler(delegate
{
string directoryPath = @"C:\";
List<SObject> sendObjects = new List<SObject>();
DirectoryInfo directoryInfo = new DirectoryInfo(directoryPath);
FileInfo[] filesArray = directoryInfo.GetFiles();
foreach (var el in filesArray)
{
sendObjects.Add(new SObject(el.Name, directoryPath));
}
string json = JsonConvert.SerializeObject(sendObjects);
return json;
});
IAsyncResult resultObj = hand.BeginInvoke(null, null);
var res = hand.EndInvoke(resultObj);
return res;
}
public Form1()
{
InitializeComponent();
InitializeChromium();
_browser.RegisterAsyncJsObject("jSObject", new JSObj());
}
ошибок не было. Я ожидаю получения данных json в javascript-land.