我正在创建一个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应用程序。
谢谢
答案 0 :(得分:1)
您可以将aspx的内容类型从text更改为image或pdf等,但不能更改复杂的数据类型。
我会使用网络服务或wcf服务。您只需声明一个DataTable类型的方法就可以了。
答案 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。