基本上我有一个从Web服务返回DataSet时加载的gridview,但是这样做会让我失去gridview的一些好处,比如排序,更新,删除,行等的简单性
有没有办法可以使用Web服务,但仍然可以使用绑定到GridView的SqlDataSource。 我不能像SqlDataSource那样返回一个webcontrol,但也许还有办法吗?
答案 0 :(得分:1)
在内部,客户端或服务器上没有无缝的Web服务绑定。 SQLDataSource旨在直接与数据库通信并忽略外部组件。如果切换到ObjectDataSource,则调用的方法可以引用一个组件,然后该组件与Web服务进行通信,但仅在服务器上进行通信。
您是否希望在客户端上执行此操作?这两种控件都不支持客户端绑定,但您可以自己构建UI,或使用JS等效控件进行绑定,例如ASP.NET AJAX 4.0模板或dataview component。
HTH。
答案 1 :(得分:1)
首先,我建议您从ASP.NET Web服务转移到WCF服务 - 您可以使用WCF Data Services。例如。您应该注意这不完全是SqlDataSource
。
但是如果你想使用ASP.NET网络服务,我认为这篇文章会对你有所帮助: How To Use a Web Service as a Data Source for a Client Application in Visual C# .NET
重点是您可以设置方法来返回DataSet
:
[WebMethod]
public DataSet GetCustOrders(string IDMask)
{
// your code here
}
但网络服务是旧技术,你不应该使用它们。