Создание новой формы - Sharepoint
Итак, у меня есть код как таковой:
private void newAddFormForMembers(SPList list, SPWeb web)
{
list = web.Lists["MemberRecords"];
string url = string.Format("_layouts/createform.apsx", web.ServerRelativeUrl, list.RootFolder.Url);
var form = web.GetFile(url);
if (form != null)
{
list.DefaultNewFormUrl = url;
list.Update();
}
}
Я использовал конструктор SharePoint 2010, чтобы пойти и взять существующий HTML-код для формы creatform при добавлении элементов в определенный список. Я добавил в два новых поля, имя и фамилия. Список содержит имя члена, я удалил это поле из формы создания, потому что:
Когда я нажимаю "отправить", чтобы добавить элемент в список, имя и фамилия должны быть отформатированы в "фамилию, имя". Теперь я могу отправить форму обратно себе. Как мне это сделать? - и затем мои манипуляции со строками Как получить значения из поля? - а затем отправить информацию в список Как мне это сделать? но тогда у меня снова проблема
Правка будет выглядеть точно так же, как поля добавления, имени и фамилии, как бы я взял информацию из списка и заполнил новую форму редактирования, особенно поля имени и фамилии, учитывая, что в списке они находятся в формате "фамилия, имя"?
Все это делается программно
1 ответ
Вместо изменения html newForm для списка попробуйте написать Event Receiver
Вместо удаления поля из newForm попробуйте скрыть столбцы (Вы можете сделать это программно или с помощью внешнего инструмента, такого как Sharepoint Manager
Добавление полей в новую / редактируемую форму и получение значения для события обратной передачи, я думаю, не просто / невозможно (через javascript вы можете получить доступ к onPreSave, где вы можете манипулировать значениями элемента перед обратной передачей, здесь вы можете написать некоторый jscript для сохранения значений в поле, но на редактировать трудно разделить значения). Вы можете: создать два столбца в вашем списке FirstName и LastName, а также третье поле FullName (скрытое для новой / редактировать форму), а с добавлением / обновлением EH вы можете написать FullName = LastName + ", " + FirstName или без EH. Можно создать рассчитанное поле.