c# - 以编程方式设置共享点列表项的字段值

标签 c# sharepoint sharepoint-2007 spfield

我试图简单地将一个简单的文本或超链接字段添加到 Sharepoint 2007 中的列表项。

我可以添加字段没问题:

list.Fields.Add("MyField",SPFieldType.Text, false);

它在我的列表项中显示良好。 但是,无论我尝试哪种方式,我都无法以编程方式为该字段设置值。我试过:

list.items[0]["MyField"] = "text";

然后我尝试加载到一个字段中:

SPField field = list.items[0].Fields["MyField"];

并在那里设置它,设置默认值并更新,但什么也没有发生。

我总是用 list.update(); 结束我的代码块;或者如果我正在对项目本身进行操作 item.update();所以我至少没有错过。谁能告诉我我做错了什么?

谢谢

最佳答案

尝试:

SPListItem item = list.items[0];
item["MyField"] = "text";
item.Update();

虽然看起来等价,但上面的代码并不相同:

list.items[0]["MyField"] = "text";
list.items[0].Update();

有关详细信息,请参阅 herehere对于记录了相同行为的人。

关于c# - 以编程方式设置共享点列表项的字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3903986/

相关文章:

c# - ASP.NET HtmlTextArea 属性和换行符

c# - SendEmail 方法不起作用

javascript - 共享点 2010 : custom column with javascript

c# - 在此域数据建模场景中访问引用数据的正确方法是什么?

sharepoint - SharePoint Online 2010 功能区中的自定义链接/按钮

c# - 如何以编程方式在企业 Wiki 站点的页面库中创建可编辑的 Wiki 页面

html - PlaceHolderMain 控制硬编码值的 td 宽度

c# - 扩展 System.Windows.Forms.Button 并更改 c# 中的默认文本

C# Directory.GetFiles 在不同的计算机上返回不同的结果

c# - Blazor 组件 : notify of collection-changed event causing thread collisions