public WebModuleInfo CreateModule(WebpageInfo page)
        {
            WebModuleType moduleType = MasterDetailItem.ModuleType;

            return(WebModule.CreateModule(
                       MasterDetailItem.Chop(page.Title, 30, false),
                       moduleType.WebApplicationType.Name,
                       moduleType.Name,
                       page.Id,
                       "Body",
                       -1));
        }
Beispiel #2
0
        protected void SaveButton_Click(object sender, EventArgs e)
        {
            if (PlaceholderDropDownList.Items.Count == 0)
            {
                throw new InvalidOperationException("The template (master page) must have a content placeholder.");
            }

            WebModuleType selectedModuleType = GetSelectedModuleType();
            WebModuleInfo module             = null;
            int           aliasModuleId      = -1;
            string        placeholder        = PlaceholderDropDownList.SelectedItem.ToString();
            string        instanceName       = ModuleNameTextBox.Text.Trim();

            if (string.IsNullOrEmpty(instanceName))
            { //auto-generate a unique name for the module instance
                int i = 1;
                List <WebModuleInfo> pageModules = WebModule.GetModules(_instanceId);
                do
                {
                    instanceName = selectedModuleType.Name + " " + i++;
                } while (pageModules.Exists(
                             delegate(WebModuleInfo m) { return(m.Name == instanceName); }));
            }

            if (UseExistingModule.Checked)
            {
                aliasModuleId = int.Parse(ExistingModulesPagesSelect.Text);
            }

            module = WebModule.CreateModule(
                instanceName,
                selectedModuleType.WebApplicationType.Name,
                selectedModuleType.Name,
                _pageId,
                placeholder,
                aliasModuleId);

            Response.Redirect(module.GetAddUrl());
        }