У меня есть маленькое приложение WPF (хотя я предполагаю, что действительно не имеет значения, является ли это формой wpf или приложением веб-формы?), что я хочу иметь, запускают новое окно браузера и POST к определенному URL. Я бездельничал с:
System.Diagnostics.Process.Start("http://myurl.com");
для запуска окна, но я не думаю, что могу использовать тот же процесс для фактической регистрации на URL... Я также экспериментировал с HttpWebRequest, но я хотел бы, чтобы пользователь смог использовать приложение после того, как я отправил на этот URL, не только показывают им результаты... На что я могу посмотреть к способному, чтобы сделать что-то вроде этого?
Есть несколько решений , не уверен, какой из них подойдет вам лучше всего ...
Для № 3 вы можете посмотреть здесь: http://geekswithblogs.net/rakker/archive/2006/04/21/76044.aspx
Если вы хотите выбрать № 1 - лучше сложно, поскольку вам нужно управлять внешним приложением, и разные браузеры будут вести себя по-разному.
Я использовал протокол «javascript:» и приведенный ниже код с IE в качестве браузера по умолчанию при работе с одним «недружелюбным к пользователю» приложением. Обратите внимание, что это не "
Вы можете создать скрытый элемент управления WebBrowser
и выполнить Navigate ()
(используя перегрузку, которая позволяет вам указать метод запроса). Вам нужно будет указать целевой фрейм «_blank», чтобы навигация происходила в новом окне браузера.
Прямого способа сделать это нет. Что вы можете сделать, так это сгенерировать HTML-страницу с формой, заполненной данными, которые вам нужно опубликовать, и небольшим количеством javascript для автоматической публикации страницы при ее загрузке. Затем вам просто нужно открыть эту страницу в браузере ...
Сгенерированный HTML-код может выглядеть так:
<html>
<head>
<script language="Javascript">
function submitForm() {
var theForm = document.getElementById("theForm");
theForm.submit();
}
</script>
</head>
<body onload="submitForm()">
<form id="theForm" action="http://myurl.com" method="POST">
<input type="text" name="username" value="myusername"/>
<input type="password" name="password" value="mypassword"/>
</form>
</body>
</html>
Если страница должна отображаться в вашем приложении, загрузите ее в элемент управления WebBrowser