列表标题更改名称?如何改回来?

时间:2017-05-02 16:40:33

标签: sharepoint sharepoint-2013 title

在SharePoint 2013中创建自定义列表或新列表,然后您进入添加项目时,它会显示“姓氏”而不是“标题”,就像它用来说的那样。反正有没有改变这个?如果是这样,我该怎么做?

见下面的例子。图1是它应该如何看,但图2是它的样子。

我知道我可以手动将其更改回标题,但我希望它在创建列表时自动将其更改回标题。它应该说“标题”而不是“姓氏”..我已经搜索谷歌但尚未找到解决方案。

图1(它应该如何看): This is how it should look

图2(它看起来如何): Title column changed to Last Name automatically

1 个答案:

答案 0 :(得分:1)

听起来Title的网站列(基础Item内容类型的一部分)已重命名为" Last Name"。

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

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

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

例如:

[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执行相同的操作。在受影响的网站集中查看网站时,打开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替换为您需要重命名字段的网站集根网站的服务器相对URL。