I use EF 4, C# and MS Membership Provider.
I have a GridView with DataSource an EntityDataSource web control.
I would like filter Data using EntityDataSource, filter show apply for the Current Logged-In User, this value should be taken using MS Memebership Provider ( Membership.GetUser(); ).
Now I cannot inf any Parameter in EntityDataSource that would allow me to dot that (in Where/Automatically generate a Where expression using provided parameter ).
Do you have any ideas?
Please provide me a sample of code. Thanks for your time!
You cannot bind the user’s identity declaratively in markup directly to the EntityDataSource. But there are basically two workarounds:
The first is the easier one but requires code-behind. You can use a generic
asp:Parameterand set its value in code-behind to the user’s identity:Markup:
Code-behind:
The second way is to create a custom parameter. An example how to do that is shown here. Note: The example is based on a
asp:SqlDataSourcebut it should work as well for an EntityDataSource if you make sure that you useWhereParametersin the EntityDataSource instead ofSelectParametersin the SqlDataSource.