从本地到生产部署新页面

时间:2014-09-25 10:57:07

标签: dotnetnuke dotnetnuke-7 dev-to-production dotnetnuke-settings

我在本地机器上有一份DotNetNuke网站,其中我添加了几页并创建了新模块。 我已将这些新页面移至生产中,因此将页面复制到相应的文件夹中。我知道在生产数据库中也很少有数据库条目可以识别生产中的这些页面和模块。

请告诉我如何在生产网站上注册这些页面

我在Google上搜索过,但可能是因为我没有找到合适的搜索关键字。目前我已将我的本地数据库恢复到生产状态以运行这些页面。我使用的是DNN第7版

3 个答案:

答案 0 :(得分:0)

这不是DNN处理得非常好,从本地环境发布到生产的东西。

最常见的方法(除了备份/恢复数据库)是使用页面模板。您可以在DNN中“导出”页面,这将生成一个XML文档,其中模块和内容引用到门户网站/#/文件夹中(其中#是门户网站ID)

您可以将该文件上传到生产站点(相同路径),然后根据该页面模板创建新页面。

答案 1 :(得分:0)

您的问题意味着您正在创建.aspx文件并将其复制到生产服务器。这真的不是DNN的工作方式,你可能正在创造一个真正的混乱。

您是如何在本地网站上创建网页的?您是否使用DNN功能创建新页面,向这些页面添加模块等?或者,你做了别的什么吗?

使用内置功能在本地安装上创建页面,如Chris

答案 2 :(得分:0)

添加模块 - 转到生产中的网站,以超级用户身份登录,然后安装模块,然后转到网站中的页面并添加它。与第三方模块相同。这将正确地将信息添加到db。

添加页面 - 您可以使用

在代码中执行此操作
  1. 创建DNN页面(标签):

    TabController tbc = new TabController();
    
    //...populating the page's info 
    
    tbc.AddTab(destinationTabInfo);
    
  2. 将ascx控件创建为全局(意味着不属于任何模块)ModuleControl。

    var moduleControl = new ModuleControlInfo
                        {
                           ... populate the fields
                        };
    
    ModuleControlController.AddModuleControl(moduleControl);