如何以编程方式设置EntityDataSource和DetailsView的参数?
我很难过!
以编程方式为EntityDataSource
控件设置选择参数的最佳方法是什么?
具体来说,我想使用Page.User.ProviderUserKey在DetailsView的自定义用户详细信息表中获取记录。
我已经看到使用asp:ControlParameter
从控件中提取值的代码,但这几乎看起来像是我的情况。 我不想要额外的控制来设置参数值。
有任何想法吗? 提前致谢!
如果创建自定义参数类型感觉太多工作,您可以以编程方式添加基本参数,如下所示:
Parameter parameter = new Parameter("MyParam", TypeCode.String, Page.User.ProviderUserKey); MyDataSource.SelectParameters.Add(parameter);
这样的东西应该能满足你的需求。
您可以创建自己的自定义参数:
有关如何实现自定义参数的详细信息,请参阅FredrikNormén的博客 。 使用自定义参数就像使用任何内置参数类型一样简单,但可以在ScottGu的博客上找到一个快速示例。
最简单的实现看起来像这样:
public class CustomParameter : Parameter { protected override object Evaluate(HttpContext context, Control control) { // This is where you would grab and return // the Page.User.ProviderUserKey value return string.Empty; } }