Leo*_*alt 4 .net dynamic-data linq-to-sql
使用Linq-to-SQL和动态数据.
在动态数据编辑屏幕上,下拉列表列出了外键的可能值.
我需要过滤此下拉列表中列出的值,最好是在linq-to-sql查询中添加where子句.
有任何想法吗?
好吧,我找到了一个自定义的地方,虽然我还没有找到一种方法来覆盖或扩展linq查询来加载数据:
在文件\ DynamicData\FieldTemplates\ForeignKey_Edit.ascx.cs中(根据默认位置),在Page_Load方法中进行以下调用:
PopulateListControl(DropDownList1);
Run Code Online (Sandbox Code Playgroud)
这可以完全用您自己的代码替换.在我的例子中,我首先检查当前表是否实现了我定义的自定义接口.如果是,则使用它来获取数据以绑定下拉列表,否则将控制权传递给PopulateListControl.
使用Reflector,似乎PopulateListControl最终使用MetaTable.GetQuery()来获取表的默认列表查询.本来可以很好地反过来..但现在转向其他事情!