miałem podobny problem w MVC (który doprowadzi mnie do tego problemu).
Otrzymuję FORMĘ jako odpowiedź łańcuchową z żądania WebClient.UploadValues (), które następnie muszę przesłać - nie mogę więc używać drugiego klienta WebClient lub HttpWebRequest. To żądanie zwróciło ciąg znaków.
using (WebClient client = new WebClient())
{
byte[] response = client.UploadValues(urlToCall, "POST", new NameValueCollection()
{
{ "test", "value123" }
});
result = System.Text.Encoding.UTF8.GetString(response);
}
Moje rozwiązanie, które mogłyby być wykorzystane do rozwiązania OP jest, aby dołączyć auto JavaScript przedkłada końcu kodu, a następnie przy użyciu @ Html.Raw(), aby uczynić go na stronie Razor.
result += "<script>self.document.forms[0].submit()</script>";
someModel.rawHTML = result;
return View(someModel);
Kod Razor:
@model SomeModel
@{
Layout = null;
}
@Html.Raw(@Model.rawHTML)
Mam nadzieję, że to może pomóc każdemu, kto znajdzie się w takiej samej sytuacji.
czy ten formularz powinien znajdować się na stronie użytkownika lub coś, co chcesz programowo powielić? – annakata
Nie, to jest coś, co chcę replikować programowo. –
Nie rozumiem twojego pytania. Nie możesz przesłać formularza bezpośrednio po kodzie serwera. Przesyłanie formularzy HTML odbywa się po stronie klienta. –