【问题标题】:asp:SqlDataSource to DataSet Itemsasp:SqlDataSource 到 DataSet 项
【发布时间】:2010-11-05 08:42:29
【问题描述】:

我的aspx页面上有一个asp:SqlDataSource ID="SqlDataSource1" 工具,我想在后面的c#锐化代码中做的是将数据源返回的记录转移到DataSet中,这样我就可以向我的页面添加分页,我该怎么做,到目前为止我的尝试都失败了?!

到目前为止,我的尝试大致如下:

DataSet 项 = new DataSet(); 项目 = SqlDataSource1.Data();

但我得到的错误是 SqlDataSource1 控件在此上下文中不可访问,因此显然智能感知没有拾取它,所以“Data()”位在我看来完全是虚构的......

谢谢,R

【问题讨论】:

    标签: c# .net sqldatasource


    【解决方案1】:

    flavour404,如果您正确设置了控件,则不应出现该错误。我刚刚测试了你的场景,它没有你提到的错误。

    SqlDataSource1 没有任何 Data 方法,您可能正在寻找 Select() 方法并且它不返回 DataSet。如果将 SqlDataSource.DataSourceMode 属性设置为“DataSet”,您将获得 DataView 对象。请参阅下面的示例

    <asp:SqlDataSource ID="SqlDataSource1" runat="server" DataSourceMode="DataSet"
                ConnectionString="<%$ ConnectionStrings:testConnectionString %>" 
                SelectCommand="SELECT * FROM [Readings]"></asp:SqlDataSource>
    
    DataView testView = (DataView)SqlDataSource1.Select(DataSourceSelectArguments.Empty);
    

    阅读 MSDN 了解详情:

    http://msdn.microsoft.com/en-us/library/dz12d98w.aspx
    http://msdn.microsoft.com/en-us/library/system.data.dataview.aspx

    希望这会有所帮助!

    【讨论】:

    • 好的,这是有道理的,但是在我的 C# 代码后面的文件中,我仍然收到错误 SqlDataSource1 在当前上下文中不存在。如何引用我的 search_results.aspx 页面上的 ?谢谢。
    • 这很奇怪。您确定您正在编辑正确的代码隐藏文件吗?尝试从后面代码中的 aspx 页面访问其他控件。您可能还想验证您正在访问的控制 ID。尝试构建代码并删除任何构建错误。修复构建错误应该会恢复智能感知。
    • 啊,我发现了错误,我从页面定义中删除了“继承”关键字,因此它正在从更高层获取加载事件......发生了很多事情。
    【解决方案2】:

    这应该工作! :)


    DataView view = (DataView)SqlDataSource1.Select(DataSourceSelectArguments.Empty);
    
    DataTable table = view.ToTable();
    DataSet ds = new DataSet();
    ds.Tables.Add(table);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多