0

首先,我在这个项目的深层次上被抛弃了。我以前从未使用过 Silverlight。我的任务是创建理论上应该是一个非常简单的项目,但我有点难过。

这个项目非常简单地从 SQL Server 2008 数据库中提取。在这个数据库中有 3 个表和 1 个视图。这些表基本上包含了很多关于我公司现有项目的数据。(时间表信息、预计完成日期、项目分配的小时数/美元等)。

我在 VS 2010 中使用 Silverlight 业务应用程序模板。我已通过服务器资源管理器成功添加到数据库的连接,还添加了 ADO.NET 数据实体框架和域服务类。这使得加载的初始页面变得非常容易。我能够将所需的视图拖到页面上,并在数据网格中显示所有数据。在这个数据网格中,我添加了一个按钮列,使用户能够查看有关特定项目的更多详细信息。

    <sdk:DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <Button Content="View Details" Click="Button_Click"></Button>
        </DataTemplate>
    </sdk:DataGridTemplateColumn.CellTemplate>

然后在 Button_Click 方法中,我有:

    string temp1 = summary1DataGrid.SelectedItem.ToString();
    string[] temp2 = new string[10];
    temp2 = temp1.Split(',');
    temp1 = temp2[3].Remove(temp2[3].IndexOf('}'));
    NavigationService.Navigate(new Uri(String.Format("Details/{0}", temp1), uriKind.Relative));

这将从现有数据网格中提取我需要的 ID 号并将其传递到下一页,我可以在其中提取 ID 号:

    string wbsid = NavigationContext.QueryString["id"];

这就是我的问题真正开始的地方。基本上我需要做的是查询我添加到这个项目中的数据库。我想显示一个仅包含具有该特定 ID 的数据的数据网格。我知道如何执行 SQL 查询,但不确定如何将所有这些合并到 Silverlight/C# 项目中。使用最后一个代码段,我可以获得我需要的 id。现在我有了它,如何用它查询数据库?

我一直在网上进行研究,很难找到至少可以为我指明正确方向的东西。如果有人能给我一点帮助,我将不胜感激。对于冗长的解释,我很抱歉,我只是想向你们提供所有可能有帮助的细节。提前致谢。祝你有美好的一天。

哦,如果您需要任何其他信息,我会经常检查并尽快回复您。

4

1 回答 1

1

我认为使用WCF Data ServicesWCF RIA Services会使您的任务变得更容易。这两种技术都可以与 Silverlight 一起使用,并允许您与数据库进行交互。

请记住(您可能已经知道)您将从 Silverlight 进行的所有交互都是异步的,并且 Silverlight 应用程序远离为您提供服务的 Web 服务器,因此获取数据将涉及网络流量/请求。

希望这能给你一个开始。

于 2012-04-18T19:04:11.450 回答