SharePoint: FormField в пользовательской веб-части? - PullRequest
1 голос
/ 11 мая 2011

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

В списке, скажем, три поля: заголовок (текст), тело (форматированный текст), категория (поиск).

Я не хочу использовать стандартный DataFormWebPart, потому что у меня есть немного кода, который также заполняет некоторые технические скрытые поля моего списка (на самом деле, я не исключаю DataFormWebPart, но я не нашел, как использовать его с кодом позади).

Итак, я начал реализовывать пользовательскую веб-часть. Поскольку я не хочу обрабатывать каждый ввод поля вручную, я начал использовать элемент управления FormField, который автоматически выбирает элемент управления рендерингом и предоставляет свойство Value в правильном формате:

<SharePoint:FormField runat="server" id="fldTitle" FieldName="Title" />

Этого кода недостаточно, я должен указать listid:

<SharePoint:FormField runat="server" id="fldTitle" FieldName="Title" ListId="{title list guid}" />

Это работает довольно правильно. Я могу в коде получить доступ к fldTitle.Value для получения ввода пользователя.

НО Я должен включить веб-часть в правильно упакованную и развернутую функцию, которую можно активировать. Веб-часть всегда будет нацелена на один и тот же список, но так как список также создается в функции (элемент ListInstance), я не могу знать Guid заранее.

Я пытался использовать несколько методов для установки идентификатора списка на лету, но безуспешно.

Я также «отразил» библиотеки SP, чтобы заметить, что класс FormComponent использует «Context», который устанавливается ListFormWebPart.

Наконец, мои вопросы:

  • это правильный способ создания настраиваемой веб-части ввода на главной странице (не настраиваемая форма списка)?
  • как мне сохранить поведение FormField (выбрать правильный элемент управления и обработать ввод и его преобразование в формат хранения)?
  • Придется ли мне создавать собственный ListFormWebPart?
  • Могу ли я играть с ControlTemplates?

заранее спасибо за помощь ... Я борюсь с этим простым делом уже несколько дней ...

1 Ответ

0 голосов
/ 26 июля 2011

Я думаю, что настройка шаблонов форм - это самый простой способ настройки форм списков. Поскольку пользовательские шаблоны форм реализованы в виде пользовательских элементов управления, вы можете добавлять любой код по своему усмотрению. Смотрите следующую статью: http://www.codeproject.com/KB/sharepoint/SharePointListForms.aspx

...