Шаблон пользовательского поля Sharepoint по умолчанию - PullRequest
2 голосов
/ 09 июня 2010

Я хочу разработать настраиваемое поле поиска для sharepoint.

Я создал класс как следующий

public class CustomLookupControl:BaseFieldControl

и перевесил этот метод

protected override string DefaultTemplateName
        {
            get
            {
                return base.DefaultTemplateName;                    
            }
        }

но когда я редактирую элемент, я обнаруживаю, что место поля пусто.

мой вопрос в том, что я не хочу реализовывать пользовательский шаблон рендеринга для поля, я хочу использовать шаблон по умолчанию для поля поиска

как этого достичь.

Ответы [ 2 ]

1 голос
/ 20 ноября 2014

Поскольку вы наследуете 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>
0 голосов
/ 23 марта 2011

Полагаю, вы, вероятно, захотите наследовать от Microsoft.SharePoint.WebControls.LookupField класса, который является специфичным для поиска потомком BaseFieldControl.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...