这是我们的书中未涵盖的家庭作业,我们被指示使用互联网和/或任何其他资源来确定此作业。我在网上找到的信息有点过头了,希望有更多的外行解释!
我有一个使用c#的现有asp.net网站,没有问题我可以通过创建一个虚拟站点,连接到AdventureWorks数据库,并将适当的文件和程序集添加到我现有的网站,为我的网站添加动态数据功能现场。
这是我迷路的地方。我需要使用Adventure Works DB中的一个存储过程来显示页面上的数据。我试图通过将它与我的aspx页面上的列表视图相关联来使用uspGetEmployeeManagers。这几乎是我能得到的。我读过的所有博客都有点过头了,而且比起初时我变得更加困惑。
有人可以尽可能简单地向我解释在动态数据网站中使用存储过程显示数据需要做些什么吗?
谢谢!
代码:
protected void getEmployeeManagers(int employeeID)
{
AdventureWorksLTDataContext aventureWorksDataContext = new AdventureWorksLTDataContext();
var dynamicData = aventureWorksDataContext.uspGetEmployeeManagers(employeeID);
lvwGetEmployeeManager.DataSource = dynamicData;
lvwGetEmployeeManager.DataBind();
}
答案 0 :(得分:0)
您可以在大多数情况下使用所需的任何数据源。您需要正确地将数据连接到列表视图。这是一个例子:
标记
<div id= "Test1a" class="fieldgroup" runat="server">
<asp:Panel ID="panelWithHistoryControl" runat="server">
<asp:ListView ID="test1" runat="server" OnLoad="test1_OnLoad">
<LayoutTemplate>
<asp:PlaceHolder runat="server" ID="test1PlaceHolder"></asp:PlaceHolder>
</LayoutTemplate>
<ItemTemplate>
<table>
<tr>
<td><%# Eval("Column1")%></td>
<td><%# Eval("Column2")%></td>
</tr>
</table>
</ItemTemplate>
</asp:ListView>
</asp:Panel></div>
Column1和Column2是表列或接口属性名称等。
背后的代码
public void test1_OnLoad(object sender, EventArgs e)
{
var list = // Get your data from the database. Return as an IList<T> or something
//similar.
test1.DataSource = list;
test1.ItemPlaceholderID = "test1PlaceHolder";
test1.DataBind();
}
参考 http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listview.itemtemplate.aspx
http://www.4guysfromrolla.com/articles/122607-1.aspx
最后,从C#执行存储过程非常简单。有很多来源见: How to execute a stored procedure within C# program
http://msdn.microsoft.com/en-us/library/bb399407(v=vs.110).aspx