Asp.net 从存储过程填充的数据列表

Asp.net 从存储过程填充的数据列表,asp.net,visual-studio-2008,stored-procedures,datalist,Asp.net,Visual Studio 2008,Stored Procedures,Datalist,以下是一个具体示例,分为5个小步骤: 1) 我在“ASCX”文件的设计视图中构建了一个数据列表 2) 在数据列表的Item Template区域中,我创建了一个1x3表,在每个单元格中,我使用Eval(“columnx”)指定了一个通过存储过程返回的列(fid) 以同样的方式,我指定了由同一存储过程返回的另外两个字段 3) 我转到.ASCX.CS(代码隐藏文件)并将数据源指定为存储过程;我做了数据绑定: DataList1.DataSource = FilmsAccess.GetFilms()

以下是一个具体示例,分为5个小步骤:

1) 我在“ASCX”文件的设计视图中构建了一个数据列表

2) 在数据列表的Item Template区域中,我创建了一个1x3表,在每个单元格中,我使用Eval(“columnx”)指定了一个通过存储过程返回的列(fid)

以同样的方式,我指定了由同一存储过程返回的另外两个字段

3) 我转到.ASCX.CS(代码隐藏文件)并将数据源指定为存储过程;我做了数据绑定:

DataList1.DataSource = FilmsAccess.GetFilms(); DataList1.DataBind();
PS:FilmsAccess是App_代码中的一个类,它包含GetFilms()方法,在该方法中传递并执行GetFilms存储过程。SP的结果是一个数据表

4) 我转到母版页,将数据列表复制到一个contentplaceholder中

5) 我创建了一个名为Catalog.aspx的页面,该页面继承自母版。我将其ContentPlaceHolder默认为master在设计视图中显示的内容。
结果,目录打开了,但我根本看不到数据列表。我做错了什么??感谢您的阅读和跟进

不确定它是否有用,但下面是我的一个旧web应用程序中的一行,其中绑定数据集的结果将提供给asp标签:

<asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Network_Name") %>'/>

我有答案:上面的步骤4)是错误的。您不需要复制ascx文件中包含的数据列表,而需要将整个ascx文件拖放到需要的位置(在本例中,拖放到Catalog.aspx)!祝大家今天愉快

谢谢你,布莱恩!我还没有尝试过你的建议,但与此同时,我发现步骤4)并不完全正确——我在下面的回答中对此进行了解释。再次感谢。