Имитация отправки формы с VB.NET - PullRequest
0 голосов
/ 10 июня 2009

Интересно, смогу ли я смоделировать действие кнопки

alt text
(источник: xonefm.com )

на этом сайте по коду VB.NET?

http://www2.xonefm.com/hot10/index_in.aspx

Ответы [ 2 ]

1 голос
/ 10 июня 2009

Это ваш веб-сайт? Если это так, вы, вероятно, можете просто вызвать событие click для кнопки напрямую (при условии, что оно вызывает обратную передачу).

Вы чистите чужой сайт? В этом случае используйте объект System.Net.WebClient или System.Net.HttpWebRequest для отправки аналогичного запроса на сервер, который браузер отправит, если вы нажмете кнопку. Есть два способа узнать, каким будет запрос:

  • Изучите источник рассматриваемой страницы, пока не поймете, какой http-запрос отправляется при нажатии кнопки. Это может быть особенно сложно для сайтов asp.net из-за скрытого поля ViewState.
  • Используйте что-то вроде WireShark, чтобы прослушать отправленный пакет и работать с ним в обратном направлении.
1 голос
/ 10 июня 2009

Из серверного кода вы можете использовать ClientScriptManager.GetPostBackEventReference, который отображает ссылку на событие обратной передачи. вот ссылка на MSDN http://msdn.microsoft.com/en-us/library/system.web.ui.page.getpostbackeventreference.aspx

вот образец

Позволяет выбрать строку сетки без столбца выбора.

protected override void Render(HtmlTextWriter writer)
{
GridView g = GridView1;
foreach (GridViewRow r in g.Rows)
{

if(DataControlRowType.DataRow == r.RowType)
{
r.Attributes["onMouseOver"] = "this.style.cursor='pointer';this.style.cursor='hand'";
r.Attributes["OnClick"] = ClientScript.GetPostBackEventReference(g, "Select$" + r.RowIndex, true);
}
}

base.Render(writer);
}
...