/// <summary>
    /// Sets value to TreeNode property given by field name.
    /// </summary>
    /// <param name="node">Current instance of edited node</param>
    /// <param name="fieldName">Name of field which can have inherited value</param>
    private void SetField(TreeNode node, string fieldName)
    {
        node.SetValue(fieldName, null);

        CMSCheckBox chk = GetCheckBox(fieldName);

        if (!chk.Checked)
        {
            // Set not inherited value
            node.SetValue(fieldName, Control.FieldControls[fieldName].Value);
        }
    }
예제 #2
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);
    }