У меня была аналогичная проблема в MVC (который привел меня к этой проблеме).
Я получаю ФОРМУ как ответ строки из запроса WebClient.UploadValues (), который я должен отправить, поэтому я не могу использовать второй WebClient или HttpWebRequest. Этот запрос вернул строку.
using (WebClient client = new WebClient())
{
byte[] response = client.UploadValues(urlToCall, "POST", new NameValueCollection()
{
{ "test", "value123" }
});
result = System.Text.Encoding.UTF8.GetString(response);
}
Мое решением, которое может быть использовано для решения OP, является для добавления авто Javascript представить в конец коды, а затем с помощью @ Html.Raw(), чтобы сделать это на странице Razor.
result += "<script>self.document.forms[0].submit()</script>";
someModel.rawHTML = result;
return View(someModel);
Бритва Код:
@model SomeModel
@{
Layout = null;
}
@Html.Raw(@Model.rawHTML)
Я надеюсь, что это может помочь всем, кто находит себя в той же ситуации.
Эта форма должна быть на странице пользователя или что-то, что вы хотите программно воспроизвести? – annakata
Нет, это то, что я хочу воспроизвести программно. –
Я не понимаю ваш вопрос. Вы не можете напрямую отправить форму с кодом на стороне сервера. Представление HTML-формы выполняется на стороне клиента. –