2012-09-15 31 views
1

是否有办法让成员选取器下拉列表仅显示给某个组或类型的成员?扩展成员选取器控制

目前我们有下拉列表显示数据库中的所有成员(大约10k用户)。

我需要一种方法来做到这一点,而不会丢失我的任何数据。

回答

3

这听起来像你需要创建一个自定义数据类型,允许你有一个不同类型的成员选择器 - this is a good guide to creating a custom datatype in Umbraco以及你如何能够在Umbraco中使用它来替换默认成员选择器。

为沿的线条越来越成员there are good tips on our.umbraco.org的一个子集:

var list = MemberGroup.GetByName("Member Group Name").GetMembersAsIds(); 

我想,如果你想有一个下拉在自定义的数据类型,你可以一个选择框绑定到一个字典编码等(未测试,但是从另一个代码片段改编):

Dictionary<int, string> list = new Dictionary<int, string>(); 
var memberGroup = MemberGroup.GetByName("Member Group Name"); 
if (memberGroup != null) 
{ 
     foreach (Member member in memberGroup.GetMembers()) 
     { 
       list.Add(member.Id, member.Name); 
     } 
} 

在二级培训有使用自动填充字段,允许会员通过输入其名称的一部分采摘工作的例子 - 所以,如果你创建一个自定义的数据类型,你可能想要评估te是否下拉是您需要的正确UI元素。

+2

是否有理由不使用MemberGroup.GetByName(“”)。GetMembers()来获得某个组的所有成员? – user1410696

+0

只要您在处理之前检查结果列表是否为空或为空,听起来就像是一种很好的方法。这两种技术都会导致相同数量的内部处理。 – amelvin