使用VB 2010从aspx获取DataTable

时间:2013-05-21 11:20:07

标签: asp.net vb.net

我正在创建一个VB 2010桌面应用程序。我使用下面的行从aspx页面获取字符串响应,我用它来收集应用程序的在线数据。

Dim response As Byte() = myWebClient.UploadValues(myWeb & "/Default.aspx", "POST", nmv)
dim str as string = Replace(System.Text.Encoding.ASCII.GetString(response), "<(.|\n)*?>", "")
System.Text.Encoding.ASCII.GetString(response)

'nmv'是一个已定义的NameValueCollection变量

现在我需要从aspx页面获取这些数据,如nmv或数据表。那可能吗?我怎么能去做呢?我认为关键是在System.'Array'......或其他什么,但我无法理解,我没有在网上获得任何搜索结果。

将数据作为字符串数组获取对我有好处,让它 nmv 更好;但是将其作为 DataTable 取回将是完美的!我能够处理以任何格式提供数据的aspx页面,我只需要知道如何收集它的vb应用程序。

谢谢

2 个答案:

答案 0 :(得分:1)

您可以将aspx的内容类型从text更改为image或pdf等,但不能更改复杂的数据类型。

我会使用网络服务或wcf服务。您只需声明一个DataTable类型的方法就可以了。

http://msdn.microsoft.com/en-us/library/ms972326.aspx

答案 1 :(得分:0)

也许最简单的方法是使用* .ashx Http Handler(通用处理程序)并将DataTable保存到XML,如下所示:

服务器:

  public class Handler1 : IHttpHandler
  {
    public void ProcessRequest(HttpContext context)
    {
      /// if needed request data is in context.Request
      DataTable tbl = GetDataTable();
      /// table must have name, if not WriteXml will fail
      tbl.TableName = "TableName";
      tbl.WriteXml(context.Response.OutputStream);
    }

    public bool IsReusable
    {
      get
      {
        return false;
      }
    }

然后在客户端上,您应该使用ReadXml DataTable方法在客户端上填充DataTable。