0

我有一个网格视图控件,它根据 LinqDataSource 返回的内容显示数据。LinqDataSource 根据在日期控件中选择的日期(在 where 子句中使用)选择数据,但我还需要 where 子句基于作为 GUID 的当前用户 ID。

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

Where=UserID == GUID?(@UserID)

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

我希望这是足够的信息 - 如果您需要更多信息,请告诉我!:)

谢谢 :)

4

2 回答 2

0

如果有人感兴趣,我会停止使用智能标记并最终在 LinqDataSource 的 _Selecting 事件中编写查询。这似乎解决了它。

于 2009-11-09T22:01:05.410 回答
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" />

然后我设置from code-behind的Value属性。hdnUserID这是一个黑客,但有效。

于 2009-12-20T13:27:50.437 回答