C# 使用javascript或c从带有异步回发的网页获取数据#

C# 使用javascript或c从带有异步回发的网页获取数据#,c#,javascript,http,post,updatepanel,C#,Javascript,Http,Post,Updatepanel,我只是想从网页上获取一些有用的数据。此网页正在使用asp.net和UpdatePanel。当我手动执行此操作时,我需要按照步骤获取所需的数据。在第一步中,我用搜索值填充一个文本框,然后单击一个按钮。然后,该网页在GridView中显示绑定了一些值的结果。此GridView包含一个视图链接按钮,单击该按钮时,将显示所需的完整信息。我需要为其他项目存储这些数据。该网站不提供任何类型的网络服务来做到这一点,获取这些数据是非常重要的,我即将开展的项目,否则该项目将被取消 我尝试了在StackOverfl

我只是想从网页上获取一些有用的数据。此网页正在使用asp.net和UpdatePanel。当我手动执行此操作时,我需要按照步骤获取所需的数据。在第一步中,我用搜索值填充一个文本框,然后单击一个按钮。然后,该网页在GridView中显示绑定了一些值的结果。此GridView包含一个视图链接按钮,单击该按钮时,将显示所需的完整信息。我需要为其他项目存储这些数据。该网站不提供任何类型的网络服务来做到这一点,获取这些数据是非常重要的,我即将开展的项目,否则该项目将被取消

我尝试了在StackOverflow上搜索时找到的各种示例,但它返回给我的第一页是空白响应数据

    using (var wb = new WebClient())
    {
        var data = new NameValueCollection();
        data["name"] = name;
        var response = wb.UploadValues(url, "POST", data);
        string value = ASCIIEncoding.ASCII.GetString(response);
        lblResponse.Text = value;
    }

请指导我完成这项重要任务。

我建议使用一种工具来捕获由手动操作引起的整个请求,然后使用
WebClient
发送它们


此外,您还可以捕获
WebClient的请求
,并将其与原始请求进行比较。

我使用firebug获取整个请求和响应,但无法完全理解它。有很多文本。做这件事我应该考虑什么。由于网页中只有一个文本框,我只传递一个值作为postdata。是否还有其他需要作为数据发布的内容?是否有\uuu ViewState隐藏输入(因为它是ASP.NET)?可能需要设置一些标题。如果您有疑问,您可以随时捕获以编程方式发出的请求,并将其与手动请求进行比较。是的,有_ViewState隐藏的输入字段。我是否也需要将此信息作为参数传递。您可能应该这样做,因为ASP.NET依赖于此。