2009-11-06 58 views
0

我有一个网格视图控件,根据LinqDataSource返回的内容显示数据。 LinqDataSource根据日期控件中选择的日期(在where子句中使用)选择数据,但是我还需要基于当前用户标识符(这是一个GUID)的where子句。LinqDataSource - 如何根据当前UserId选择行?

如何获取LinqDataSource获取当前用户ID并在where子句中使用它?我的代码目前看起来是这样的(在.aspx页面)

Where=UserID == GUID?(@UserID) 

<asp:Parameter DbType="Guid" Name="UserId" /> 

我希望这是足够的信息 - 请让我知道如果你需要更多的! :)

谢谢:)

回答

0

如果有人有兴趣,我停止使用智能标签和最后写在使用LinqDataSource的_Selecting事件查询。这似乎解决了它。

0

什么时候我有同样的问题,我做的事:

<asp:LinqDataSource ... Where="UserID == Convert.ToInt32(@UserID)"> 
    <WhereParameters> 
    <asp:ControlParameter Name="UserID" ControlID="hdnUserID" 
     Type="Int32" PropertyName="Value" /> 
    </WhereParameters> 
</asp:LinqDataSource> 

<asp:HiddenField runat="server" ID="hdnUserID" Visible="false" /> 

然后我设置从代码隐藏的hdnUserIDValue属性。这是一个黑客,但工程。

相关问题