C# 如何使用代码重命名文档库中的标题列?

C# 如何使用代码重命名文档库中的标题列?,c#,sharepoint-2010,rename,C#,Sharepoint 2010,Rename,每个人都喜欢重命名列。标题栏是我的最爱,我似乎无法通过代码重命名它: SPList list = web.Lists.TryGetList("MyList"); Guid guid = new Guid("fa564e0f-0c70-4ab9-b863-0177e6ddd247"); //Title column SPField field = list.Fields[guid]; field.Title = "Testing"; field.Update(); list.Update();

每个人都喜欢重命名列。标题栏是我的最爱,我似乎无法通过代码重命名它:

SPList list = web.Lists.TryGetList("MyList");
Guid guid = new Guid("fa564e0f-0c70-4ab9-b863-0177e6ddd247"); //Title column
SPField field = list.Fields[guid];
field.Title = "Testing";
field.Update();
list.Update();
标题列始终保持标题列(至少
显示名称
)。当然,我不想重命名
InternalName
或任何疯狂的东西,但由于您无法删除该列,因此如果它在我的SP上下文中确实有一个有意义的名称,那就太好了

简而言之,问题是:如何使用代码(意思是C而不是XML)重命名文档库中的标题列/字段?“

PS:当然它是通过用户界面工作的。进入“文档库设置”>“列”>“标题”,您可以根据自己的喜好更改名称(所有视图都会更新此名称)
进一步的研究表明,它甚至不适用于
SchemaXML

string schema = field.SchemaXML;
schema.Replace("Title", "NewNameHere");
field.SchemaXml = schema;
field.Update();
list.Update();

该字段的显示名称仍然是“Title”。

本地化是一个问题。除了
标题
,我还需要更改
标题资源

field.TitleResource.SetValueForUICulture(new CultureInfo(1033), "My title");

作为。

谢谢。很抱歉弹出旧QA-如果我设置list.Title=“ABC”并更新,属性将成功设置,但标题不会更改。事件调试列表,这是我第二次看到新设置的标题“ABC”值。。