Hi,
I have a problem trying to get the contents of a RadEditor located inside a User control through AJAX. The main page has a Radstrip with a multipage and each pageview has attached an instance of the User control with the editor and a button.
When the User control is created from code behind, some default contents are set from the main page to the Editor and it's working properly. But, if we change that text and we call a postback with AJAX, I cannot get the new value.
I am not sure how to proceed to get new values...
thanks.
The User Control:
User Control Code behind:
Default page:
I have a problem trying to get the contents of a RadEditor located inside a User control through AJAX. The main page has a Radstrip with a multipage and each pageview has attached an instance of the User control with the editor and a button.
When the User control is created from code behind, some default contents are set from the main page to the Editor and it's working properly. But, if we change that text and we call a postback with AJAX, I cannot get the new value.
I am not sure how to proceed to get new values...
thanks.
The User Control:
<telerik:RadEditor ID="RadEditor1" runat="server" Width="100%" BorderStyle="None" EditModes="Design" ContentAreaCssFile="~/css/EditorContentArea.css" ContentAreaMode="iframe"> <CssFiles> <telerik:EditorCssFile Value="~/css/EditorContentArea.css" /> </CssFiles> <Tools> <telerik:EditorToolGroup Tag="MainToolbar"> <telerik:EditorTool Name="AjaxSpellCheck" /> <telerik:EditorTool Name="FindAndReplace" /> <telerik:EditorSeparator /> <telerik:EditorSplitButton Name="Undo"> </telerik:EditorSplitButton> <telerik:EditorSplitButton Name="Redo"> </telerik:EditorSplitButton> <telerik:EditorSeparator /> <telerik:EditorTool Name="Cut" /> <telerik:EditorTool Name="Copy" /> <telerik:EditorTool Name="Paste" ShortCut="CTRL+V" /> </telerik:EditorToolGroup> <telerik:EditorToolGroup Tag="Formatting"> <telerik:EditorTool Name="Bold" /> <telerik:EditorTool Name="Italic" /> <telerik:EditorTool Name="Underline" /> <telerik:EditorSeparator /> <telerik:EditorSplitButton Name="ForeColor"> </telerik:EditorSplitButton> <telerik:EditorSplitButton Name="BackColor"> </telerik:EditorSplitButton> <telerik:EditorSeparator /> <telerik:EditorDropDown Name="FontName"> </telerik:EditorDropDown> <telerik:EditorDropDown Name="RealFontSize"> </telerik:EditorDropDown> </telerik:EditorToolGroup> </Tools> <Content></Content></telerik:RadEditor><div style="float:left;"><telerik:RadSpell ID="RadSpell1" runat="server" ControlToCheck="RadEditor1" ButtonType="PushButton" AllowAddCustom="true" CssClass="floatL" /> <telerik:RadButton ID="RadButton1" runat="server" Text="Save" Height="22px" /></div>User Control Code behind:
Imports Telerik.Web.UIPublic Delegate Sub RadButton1_Click(sender As Object, e As System.EventArgs)Public Class productAttributesEditor Inherits System.Web.UI.UserControl Public Event SaveClick As RadButton1_Click Public singleLang As String Public Property RadEditor() As RadEditor Get Return RadEditor1 End Get Set(value As RadEditor) RadEditor1 = value End Set End Property Public Property SpellSingleLanguage() As String Get Return singleLang End Get Set(value As String) singleLang = value End Set End Property Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Not Page.IsPostBack Then RadEditor1.Modules.Clear() RadEditor1.Languages.Clear() RadEditor1.SpellCheckSettings.AllowAddCustom = True RadEditor1.SpellCheckSettings.SpellCheckProvider = SpellCheckProvider.PhoneticProvider If String.IsNullOrEmpty(singleLang) Then Using ctx As New MyLovelyFood_DynamicStocksEntities() Dim langs = From a In ctx.aux_languageList Where a.Published = True And a.SpellEnabled = True Select a.LanguageCulture, a.Name, a.PrimaryLang Order By PrimaryLang For Each row In langs RadEditor1.Languages.Add(New SpellCheckerLanguage(row.LanguageCulture, row.Name)) Next End Using Else RadEditor1.SpellCheckSettings.DictionaryLanguage = singleLang End If End If End Sub Protected Sub RadButton1_Click(sender As Object, e As EventArgs) Handles RadButton1.Click RaiseEvent SaveClick(Me, e) End SubEnd ClassDefault page:
' Prepare text editor' For each Tab, create a new Editor... Private Sub RadTabStripIngredients_TabDataBound(sender As Object, e As RadTabStripEventArgs) Handles RadTabStripIngredients.TabDataBound Dim pageView As New RadPageView() pageView.ID = e.Tab.Value RadMultiPageIngredients.PageViews.Add(pageView) End Sub Private Sub RadMultiPageIngredients_PageViewCreated(sender As Object, e As RadMultiPageEventArgs) Handles RadMultiPageIngredients.PageViewCreated editorControl = LoadControl("~/common/AttributesEditor.ascx") editorControl.ID = e.PageView.ID & "_userControl" Using ctx As New DynamicStocksEntities() Dim langCulture = From a In ctx.aux_languageList Where a.Id = e.PageView.ID Select a.LanguageCulture editorControl.SpellSingleLanguage = langCulture.FirstOrDefault End Using e.PageView.Controls.Add(editorControl) AddHandler editorControl.SaveClick, AddressOf SaveEditor End Sub Private Sub SaveEditor(ByVal sender As Object, ByVal e As EventArgs) Dim editorObj As productAttributesEditor = TryCast(sender, Object) Dim content As String = TryCast(editorObj.RadEditor, RadEditor).Text MsgBox(content) ' >>>> ERROR, WE JUST RECEIVE THE INITIAL VALUE INSTEAD OF THE MODIFIED VERSION If Not String.IsNullOrEmpty(Trim(content)) Then' DO SOMETHING End If End Sub