我刚刚在Windows Server 2008上安装了SiteFinity 3.7标准版。有没有办法将已经存在的.NET项目(ASP.NET)完全/部分导入SiteFinity,当然代码中有一些细微的变化(可能是通过changinf几个xml文件或类似的东西)。我只能在“管理” - >“工具”部分下看到“导出”,但没有导入。我是SiteFinity的新手,因此非常感谢详细的帮助/指导。
感谢。
答案 0 :(得分:4)
我想你在这里独自一人。 Sitefinity将所有内容存储在数据库中,因此您必须以编程方式转换站点地图(将XML插入到数据库中)。 Sitefinity确实有一个允许您执行此操作的API。例如,您可以create pages和add controls to that page。
Sitefinity使用MasterPages作为模板,因此很容易。您也可以重复使用任何控件。
但是,当你完成编写转换代码的时候,我想你会发现你可以在更短的时间内完成所有操作。除非这是一个巨大的网站,否则你需要转换。
答案 1 :(得分:4)
如果您只需要导入页面,可以将它们添加为“外部页面”。这允许您设置权限,页面属性,并将其添加到导航/站点地图,但当然不允许您编辑sitefinity内的页面。我这样做是为了一些单独开发但需要在我们的站点地图中的网站。
您还可以将内容和代码包装到用户控件中,然后将其添加到页面中。我们为我们构建的应用程序执行了此操作。页面必须存在于sitefinity中,但编程已经完成,并且需要在用户控件中。再一次,您无法编辑sitefinity中的内容,但您可以保留现有代码。
最后,如果您使用任何类型的内容管理系统,您可以通过各种管理器轻松导入新闻/事件/等内容,它的工作方式如下:
var mgr = new ContentManager("News");
var content = new mgr.CreateItem("text/html");
content.SetMetaData("Title", importedItem.Title)
...
mgr.SaveContent(content);
这不完全是代码,但是类似的东西;您可以使用api文档了解更多信息。
如果是纯文本,那么不幸的是,您必须手动将其复制到sitefinity中。这是一项工作,我用了数百页来完成这项工作,但最终还是值得拥有cms的好处。
希望这有用!