列表标题更改名称?怎么改回来?

List Title changed name? How to change it back?

在 SharePoint 2013 中创建自定义列表或新列表然后您添加一个项目时,它会显示 "Last Name" 而不是通常所说的 "Title"。反正有没有改回来?如果是这样,我该怎么做?

请参阅下面的示例。图 1 是它应该看起来的样子,但图 2 是它即将出现的样子。

我知道我可以手动将其更改回标题,但我希望它在创建列表时自动将其更改回标题。它应该说 "Title" 而不是 "Last Name".. 我搜索了 google 但还没有找到解决方案。

图 1(它的外观):

图 2(外观):

听起来标题的网站栏(基础项目内容类型的一部分)已重命名为 "Last Name"。

例如,如果您转至“网站设置”->“网站内容类型”->“项目”(在“列表内容类型”下)->“标题”(在“栏”下)->“编辑网站栏”,就会发生这种情况

不幸的是,通过界面将标题字段的显示名称改回 "Title" 是出了名的困难,因为 SharePoint 坚持标题字段名称是保留的(并且不够亮,无法意识到它是标题您要修复的字段)。

如果您有权访问远程服务器,则可以使用 PowerShell 和 SharePoint 服务器 object 模型重命名该字段。

例如:

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
$siteurl = "URL of top-level site"
$site=new-object Microsoft.SharePoint.SPSite($siteurl)
$web=$site.OpenWeb()
$field=$web.Fields.GetFieldByInternalName("Title")
$field.Title = "Title"
$field.Update()
$web.Dispose()
$site.Dispose()

否则,您可以使用 JavaScript 做同样的事情。在受影响站点 collection 中查看站点时,打开 F12 开发人员工具 JavaScript 控制台并执行以下脚本以重命名标题:

var context = new SP.ClientContext("/serverRelativeUrlOfRootWeb");
var field = context.get_web().get_fields().getByInternalNameOrTitle("Title");
field.set_title("Title");
field.update();
context.executeQueryAsync(
    function(){
        alert("Field renamed successfully.");
    },
    function(sender,args){ 
        alert(args.get_message());
    }
);

/serverRelativeUrlOfRootWeb 替换为您需要重命名字段的站点 collection 的根站点的 server-relative URL。