2010-07-30 76 views
0

所以我使用SL4业务模板和SQL Membership API。我创建了一个用户,并创建了一个与该用户关联的自定义表。使用Silverlight RIA Services DomainDataSource查询用户

所以我想要一个DataGrid显示CURRENT(WebContext.Current.User)用户的项目。

  1. 为什么WebContext.Current.User中的用户的GUID?我需要它加入'Items'表。

  2. 如何使用XAML DomainDatasource ...从我看到的只有当您可以绑定到XAML上的其他东西时才可以使用它。例如,如果我有页面上的日历控件可以绑定domaindatasource到日历....但我想查询给出'用户ID(GUID)'...所以我需要把一个隐藏的领域的XAML与该值有权访问它? (像在asp.net隐藏的Fileds)

还是我将所有关于它的错误的方式......它的一个非常简单的conceopt ..我有用户..我有项目..有一个关系..我想要一个datagrid充满特定用户的项目。

回答

1

有两种方法可以解决这个问题。首先,您可以编写一个查询GetDataForCurrentUser()并将当前用户拖放到服务器上。这往往是更安全的选择,因为用户只能获得他们自己的数据。第二种选择是将用户guid作为参数传递。在这篇文章中,我展示了一些方法来做到这一点。

http://jeffhandley.com/archive/2010/03/18/custom-filter-parameter.aspx

+0

IM乍一看困惑......你是在谈论使用窗体身份验证+内置的SQL会员表格右侧获得用户名GUID?我明天看病更糟糕。 – punkouter 2010-07-30 21:49:39

+0

我看着它更多..我仍然没有得到它.. 我用你的示例代码通过User.Name ... 但我想要的是PrimaryKey这是用户的GUID。 ..我怎么得到这个价值? 我需要那个键,然后用'Items'匹配用户 这看起来像是一个关于SQL成员表的常见事情。我不知道为什么它对我来说似乎很难。 – punkouter 2010-08-01 18:16:32

+0

以及最坏的情况下,我可以加入'姓名'字符串atleast ... – punkouter 2010-08-01 18:29:53

相关问题