Перехват POST формы в CefSharp - PullRequest
0 голосов
/ 04 апреля 2020

Я имею в виду приложение WinForms (VS2019,. NET 4.7.2), которое хочет использовать CefSharp в качестве основного интерфейса (Cef 79.1.36 + g90301bd + chromium-79.0.3945.130).

У меня есть простая форма, загруженная из локального html файла с именем form.html, где соответствующий раздел (за исключением большинства шаблонов HTML) выглядит так:

<form method="POST">
    <input type="text" name="Name" placeholder="Name" /><br>
    <input type="text" name="Place" placeholder="Place" /><br>
    <input type="submit" />
</form>

Файл формы загружается по пользовательской схеме:

settings.RegisterScheme(new CefCustomScheme
{
    SchemeName = "folder",
    DomainName = "local",
    SchemeHandlerFactory = new FolderSchemeHandlerFactory(                    
    rootFolder: $@"{Application.StartupPath}\wwwroot",
    hostName: "local", 
    defaultPage: "index.html")
});

Код, который фактически загружает его, находится в Form1.cs и выглядит так:

browser.Load("folder://local/form.html");

Форма загружается нормально и отображается, как и ожидалось ,

Теперь, когда пользователь нажимает кнопку Submit, я хочу перехватить отправку и обработать отправленные данные (значения, введенные для Name и Place в данном случае) в моем C# код. Я не хочу, чтобы форма фактически отправлялась на какой-либо веб-сервер - мне просто нужно иметь возможность получить данные формы и работать с ними в своем коде C # / WinForms.

Я не уверен, как это сделать. Прямо сейчас, после нажатия кнопки Submit, форма очищается (предположительно, перезагружается с того же URL-адреса), но я не знаю, куда отправлены отправленные данные. Буду признателен за любые подсказки.

...