Beispiel #1
0
    private void DocumentManager_OnSaveData(object sender, DocumentManagerEventArgs e)
    {
        EditingForms editingForm = (EditingForms)Convert.ToInt32(drpEditControl.SelectedValue);

        // Get content to save
        switch (editingForm)
        {
        case EditingForms.TextArea:
            content = txtAreaContent.Text.Trim();
            break;

        case EditingForms.HTMLEditor:
            content = htmlContent.ResolvedValue;
            break;

        case EditingForms.EditableImage:
            content = imageContent.GetContent();
            break;

        case EditingForms.TextBox:
            content = txtContent.Text.Trim();
            break;
        }

        if (!QueryHelper.GetBoolean("imagesaved", false))
        {
            createNew = !node.DocumentContent.EditableWebParts.Contains(keyName) &&
                        !node.DocumentContent.EditableRegions.ContainsKey(keyName);
        }

        // Code name
        string codeName = txtName.Text.Trim().ToLowerCSafe();

        // Set PageInfo
        switch (keyType)
        {
        case EditableContentType.webpart:
            if (!createNew)
            {
                // If editing -> remove old
                node.DocumentContent.EditableWebParts.Remove(keyName);
            }

            if (!node.DocumentContent.EditableWebParts.ContainsKey(codeName))
            {
                node.DocumentContent.EditableWebParts.Add(codeName, content);
            }
            else
            {
                ShowError(GetString("EditableContent.ItemExists"));
                return;
            }
            break;

        case EditableContentType.region:
            if (!createNew)
            {
                // If editing -> remove old
                node.DocumentContent.EditableRegions.Remove(keyName);
            }

            if (!node.DocumentContent.EditableRegions.ContainsKey(codeName))
            {
                node.DocumentContent.EditableRegions.Add(codeName, content);
            }
            else
            {
                ShowError(GetString("EditableContent.ItemExists"));
                return;
            }
            break;
        }

        // Get content
        content = node.DocumentContent.GetContentXml();
        node.UpdateOriginalValues();
        node.SetValue("DocumentContent", content);
    }