0

我正在创建一个 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 应用程序知道如何收集它。

谢谢

4

2 回答 2

1

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

我会改用 Web 服务或 wcf 服务。你可以只声明一个 DataTable 类型的方法,你就完成了。

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

于 2013-05-21T11:32:17.757 回答
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。

于 2013-05-21T11:55:38.007 回答