如何解决为什么在我运行它后,它在sitefinity仪表板门户中将项目名称显示为“默认”
我是 Sitefinity 的新手。但是我按照教程中的步骤进行操作,并创建了一个名为“ SFcmsDemo”的项目,当我运行该项目时, Sitefinity 仪表板出现在本地主机上,其名称显示为“默认”而不是“ SFcmsDemo”,我阅读的教程在其中显示了正确的名称,但是当我尝试时,它显示为“默认”。谁能帮我找出根本原因和解决方案。我附上一些屏幕截图,这将有助于您了解更多信息。谢谢。
解决方法
如果点击
默认设置,然后点击管理网站,可以轻松更改默认设置。
更新
从反编译的Telerik.Sitefinity.dll(v.12.2):
internal static Site GetOrCreateDefaultSite()
{
Site site;
string str = "CreateDefaultSite";
MultisiteManager manager = MultisiteManager.GetManager(null,str);
using (ElevatedModeRegion elevatedModeRegion = new ElevatedModeRegion(manager))
{
ProjectConfig projectConfig = Config.Get<ProjectConfig>();
Guid siteMapRootNodeId = projectConfig.DefaultSite.SiteMapRootNodeId;
Site site = (
from s in manager.GetSites()
where s.SiteMapRootNodeId == siteMapRootNodeId
select s).FirstOrDefault<Site>();
if (site == null)
{
site = (projectConfig.DefaultSite.Id == Guid.Empty ? manager.CreateSite() : manager.CreateSite(projectConfig.DefaultSite.Id));
site.IsDefault = true;
site.IsOffline = false;
site.site = projectConfig.DefaultSite.site;
site.SiteMapRootNodeId = siteMapRootNodeId;
site.Name = (projectConfig.ProjectName != "/" ? projectConfig.ProjectName : "Default");
....
在最后一行中注意它在projectConfig.ProjectName值中的外观,如果它等于“ /”,则将其设置为“默认”
现在,如果我们看一下ProjectConfig,就会发现:
[Browsable(false)]
[ConfigurationProperty("projectName",DefaultValue="/")]
[ObjectInfo(typeof(ConfigDescriptions),Title="ProjectNameTitle",Description="ProjectNameDescription")]
public string ProjectName
{
get
{
return (string)this["projectName"];
}
internal set
{
this["projectName"] = value;
}
}
因此,默认值的确是“ /”,这就是为什么创建网站时其名称为Default。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。