我以编程方式在Web方法中创建sharepoint 2010网站。创建站点时 - 它会触发“功能激活”事件接收器。在此事件接收器中,我在网站上创建列表并向其添加字段。
我正在创建的一个字段是选择字段(下拉列表)。我为此控件添加了几个选项,但发现在创建站点时,如果我下拉该字段,则列表中没有选项。我通过网络研究意识到,我需要调用我选择字段的更新方法。我一做到这一点,网站的创建引发了一个例外,其描述如下: 80070057 不是很有帮助。
如果我注释掉了选择字段的更新方法,则网站再次创建没有问题,但下拉列表中没有选项。
SPFieldChoice fldTransmittalStatus =
(SPFieldChoice)newList.Fields.CreateNewField(Microsoft.SharePoint.SPFieldType.Choice.ToString(), Constants.FIELD_TRANSMITTAL_STATUS);
newList.Fields.Add(fldTransmittalStatus);
fldTransmittalStatus.EditFormat = SPChoiceFormatType.Dropdown;
fldTransmittalStatus.Choices.Add("Sent");
fldTransmittalStatus.Choices.Add("Downloaded");
fldTransmittalStatus.Choices.Add("Received");
fldTransmittalStatus.Choices.Add("Resent");
fldTransmittalStatus.Choices.Add("Cancelled");
fldTransmittalStatus.Update(); // when present, this line causes the site creation to fail
. . . .
. . . .
newList.Update();
我还在默认视图中包含此字段。
SPView defaultView = newList.DefaultView;
defaultView.ViewFields.Add(newList.Fields.GetField(Constants.FIELD_TRANSMITTAL_STATUS));
答案 0 :(得分:1)
尝试在调用字段的更新方法
之前更新列表