Если вы создали свой список и тип контента программно (с использованием файлов XML), есть несколько мест, где вам нужно внести изменения:
- В вашем файле ContentType.CT.Columns.xml(установите атрибут Required = "FALSE" в XML вашего элемента Field).
- В вашем ContentType.CT.xml (установите атрибут Required = "FALSE" в XML вашего элемента FieldRef)
- В файле schema.xml вашего списка найдите раздел и найдите свое поле и установите для атрибута значение false.
Похоже, вы все сделали правильно.Однако файл schema.xml используется только при создании списка.Поэтому, если вы изменили schema.xml и развернули его, но без удаления и повторного создания списка, ваши изменения будут фактически бесполезны.
РЕДАКТИРОВАТЬ:
Если вы не можете удалить и заново создать свой список, вам придется написать код, который будет делать это программно (с помощью функции или аналогичной функции).Это сделает свое дело:
using (SPSite site = new SPSite("http://yoursite"))
{
using (SPWeb web = site.RootWeb)
{
SPList list = web.Lists.TryGetList("Your List");
if (list != null)
{
SPField fld = list.Fields[SPBuiltInFieldId.RequiredField];
fld.Required = false;
fld.Update();
}
}
}