Поскольку вы наследуете BaseFieldControl
, а не LookupField
, base.DefaultTemplateName
не будет отображать искомый результат так, как вам нужно.Вам нужно определить свой собственный шаблон следующим образом:
protected override string DefaultTemplateName
{
get
{
return "MyCustomTemplateName";
}
}
Ваш шаблон рендеринга, представляющий собой файл ascs, развернутый в корневой папке _controltemplates, должен иметь идентификатор MyCustomTemplateName
.В свой шаблон добавьте элемент управления, в данном случае LookupField
, и дайте ему понять, что нужно визуализировать.Пусть он сделает всю работу за вас и получит свое собственное DefaultTemplateName.Теперь ваш шаблон будет выглядеть так:
<SharePoint:RenderingTemplate ID="MyCustomTemplateName" runat="server">
<Template>
<SharePoint:LookupField runat="server" />
// Other custom stuff you want to add
</Template>
</SharePoint:RenderingTemplate>