Как я могу вызвать сообщение из кода VB в iframe на странице? - PullRequest
0 голосов
/ 16 июня 2009

Я написал код для публикации информации на странице, однако я не знаю, как сделать так, чтобы публикация предназначалась для фрейма, который я разместил на странице. (Я не проверял этот код, поэтому я не уверен, работает ли этот пост)

    Dim param1, param2, result, url As String
    Dim request As HttpWebRequest
    Dim paramStream() As Byte
    Dim requestResponse As WebResponse

    param1= "name=" + Server.UrlEncode("My Name")
    param2= "email=" + Server.UrlEncode("email@mail.com")
    paramStream = Encoding.ASCII.GetBytes(param1+ "&" + param2)
    url = "https://www.mysite.com/dosomething.php"

    request = WebRequest.Create(url)
    request.Method = "POST"
    request.ContentType = "application/x-www-form-urlencoded"
    request.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.0; sv-SE; rv:1.9.1b2) Gecko/20081201 Firefox/3.1b2"
    request.ContentLength = paramStream.Length

    Using stream = request.GetRequestStream()
        stream.Write(paramStream, 0, paramStream.Length)
    End Using

    requestResponse = request.GetResponse()

    Using sr = New StreamReader(requestResponse.GetResponseStream())
        result = sr.ReadToEnd()
    End Using

Это то, что я написал для публикации на веб-сайте, однако я хотел бы, чтобы сообщение затронуло фрейм, который я разместил на странице. Я знаю, что когда вы пишете HTML, вы можете иметь цель, указанную в теге формы

<form target="my_iframe" method="post" action="dosomething.php" />

Но я не был уверен, есть ли один аналог цели, который я могу указать из кода VB.

Просто примечание: Я пытаюсь сделать пост со страницы ASP.NET на страницу PHP, содержащуюся в iframe.

Я еще не проверял, что это даже работает для публикации, если вы видите в моем коде что-то, что требует исправления, или у вас есть предложения, как сделать это по-другому, пожалуйста, сообщите мне.

1 Ответ

0 голосов
/ 23 сентября 2009

Когда вы снимаете экран с помощью HttpWebRequest, вы работаете на уровне HTTP, под уровнем HTML, который беспокоит браузер. HTTP не знает и не заботится о фреймах или любых других HTML-элементах, расположенных сверху. HTTP просто отправляет запросы на URL-адреса и получает ответы обратно. Так что вам просто нужно отправить запрос POST на URL-адрес IFRAME. Тот факт, что обычно этот URL находится в IFrame, не должен иметь значения для вашего кода VB.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...