update to usercontrol wrapper, detect if value is xml (if it is, don't store in cdata)

This commit is contained in:
starfighter83
2010-12-21 08:14:41 -01:00
parent b375ddf1f8
commit 1d26a0353b
3 changed files with 44 additions and 1 deletions

View File

@@ -344,6 +344,7 @@
<Compile Include="tinymce\TinyMCELegacyControl.cs" />
<Compile Include="tinymce\tinyMCEImageHelper.cs" />
<Compile Include="tinymce\tinyMCEPreValueConfigurator.cs" />
<Compile Include="userControlWrapper\usercontrolData.cs" />
<Compile Include="wysiwyg\editorButton.cs" />
<Compile Include="tinyMCE3\TinyMCE.cs" />
<Compile Include="tinyMCE3\tinyMCE3dataType.cs" />

View File

@@ -0,0 +1,42 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
namespace umbraco.editorControls.userControlGrapper
{
public class usercontrolData : umbraco.cms.businesslogic.datatype.DefaultData
{
public usercontrolData(umbraco.cms.businesslogic.datatype.BaseDataType DataType) : base(DataType) { }
public override System.Xml.XmlNode ToXMl(System.Xml.XmlDocument data)
{
if (this.Value != null)
{
XmlDocument xd = new XmlDocument();
try
{
xd.LoadXml(this.Value.ToString());
return data.ImportNode(xd.DocumentElement, true);
}
catch
{
return base.ToXMl(data);
}
}
else
{
return base.ToXMl(data);
}
}
}
}

View File

@@ -31,7 +31,7 @@ namespace umbraco.editorControls.userControlGrapper
get
{
if (_baseData == null)
_baseData = new umbraco.cms.businesslogic.datatype.DefaultData(this);
_baseData = new usercontrolData(this);
return _baseData;
}
}