+1-888-365-2779
Try Now
More in this section

Forums / Developing with Sitefinity / Cannot edit comments in modules after upgrade to 3.7

Cannot edit comments in modules after upgrade to 3.7

2 posts, 0 answered
  1. Tim
    Tim avatar
    9 posts
    Registered:
    06 Sep 2010
    09 Sep 2010
    Link to this post
    Hi,

    Please excuse the fact I have limited information on this issue, I have only been at this site for a week.

    Recently there has been an upgrade to 3.7. Now in all modules clicking on Edit in the Comments listing throws an error:

    A required control was not found in the template for "". The control must be assignable form type "Telerik.Web.UI.RadEditor" and must have ID "commentTxt".

    This is what CommentsEdit.ascx looks like.

    <%@ Register Assembly="Telerik.Cms.Web.UI" Namespace="Telerik.Cms.Web.UI" TagPrefix="sfWeb" %>
     
    <sfWeb:MessageControl runat="server" ID="messageCtrl">
        <ItemTemplate>
            <asp:Label ID="messageText" runat="server"></asp:Label>
        </ItemTemplate>
    </sfWeb:MessageControl>
    <div class="ToolsAll">
        <div class="backWrapp">
            <asp:LinkButton runat="Server" ID="backButton" Text="<%$Resources:BackToAllComments %>" CssClass="actions back"></asp:LinkButton>
        </div>
    </div>
    <div class="workArea">
        <div class="mainForm comm">
        <p class="mand">* <asp:Literal runat="server" Text="<%$Resources:MandatoryFields %>"></asp:Literal></p>
        <h3 class="commHead"><asp:Literal runat="server" Text="<%$Resources:ACommentOn %>"></asp:Literal> <asp:LinkButton runat="Server" ID="parentLink"></asp:LinkButton></h3>
        <fieldset class="set">
            <ol class="setIn">
                <li>
                    <asp:Label AssociatedControlID="commentTxt" runat="server" ID="commentLabel" Text="<%$Resources:Comment %>"></asp:Label>
                    <asp:TextBox runat="Server" ID="commentTxt" TextMode="MultiLine" ValidationGroup="commentsInfo"></asp:TextBox>
                    <asp:RequiredFieldValidator runat="server" ID="contentVal" ControlToValidate="commentTxt" ErrorMessage="*" Display="dynamic" ValidationGroup="commentsInfo"></asp:RequiredFieldValidator>
                </li>
                <li>
                    <asp:Label AssociatedControlID="authorTxt" runat="server" ID="authorLabel" Text="<%$Resources:Author %>"></asp:Label>
                    <asp:TextBox runat="server" ID="authorTxt" ValidationGroup="commentsInfo" MaxLength="50"></asp:TextBox>
                    <asp:RequiredFieldValidator runat="server" ID="authorVal" ControlToValidate="authorTxt" ErrorMessage="*" Display="dynamic" ValidationGroup="commentsInfo"></asp:RequiredFieldValidator>
                </li>
                <li style="display: none">
                    <asp:Label AssociatedControlID="emailTxt" runat="server" ID="emailLabel" Text="<%$Resources:Email %>"></asp:Label>
                    <asp:TextBox runat="server" ID="emailTxt" ValidationGroup="commentsInfo"></asp:TextBox>
                    <asp:RegularExpressionValidator runat="server" ID="emailVal" ControlToValidate="emailTxt" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" ErrorMessage="*" Display="dynamic" ValidationGroup="commentsInfo"></asp:RegularExpressionValidator>
                </li>
                <li style="display: none">
                    <asp:Label AssociatedControlID="webSiteTxt" runat="server" ID="webSiteLabel" Text="<%$Resources:WebSite %>"></asp:Label>
                    <asp:TextBox runat="server" ID="webSiteTxt"></asp:TextBox>
                </li>
            </ol>
        </fieldset>
        <div class="bottom"><div><!-- --></div></div>
        <h3><asp:Literal runat="server" Text="<%$Resources:Status %>"></asp:Literal></h3>
        <fieldset class="set">
            <div class="setIn">
            <h5><asp:Literal runat="server" Text="<%$Resources:ThisCommentIs %>"></asp:Literal>:</h5>
            <asp:RadioButtonList runat="Server" ID="visibleComment" RepeatDirection="Horizontal" RepeatLayout="Flow" CssClass="radio">
                <asp:ListItem Text="<%$Resources:Visible %>" Value="Visible"></asp:ListItem>
                <asp:ListItem Text="<%$Resources:Hidden %>" Value="Hidden"></asp:ListItem>
            </asp:RadioButtonList>
            </div>
        </fieldset>
        <div class="bottom"><div><!-- --></div></div>
        <p class="button_area">
        <asp:LinkButton ID="saveBtn" runat="server" ValidationGroup="commentsInfo" CssClass="CmsButLeft okdark"><strong class="CmsButRight dark"><asp:Literal runat="server" Text="<%$Resources:SaveChanges %>"></asp:Literal></strong></asp:LinkButton>
        <span> <asp:Literal runat="server" Text="<%$Resources:Or %>"></asp:Literal> </span>
        <asp:LinkButton CssClass="cmscclcmd" runat="Server" ID="cancelBtn" Text="<%$Resources:Cancel %>"></asp:LinkButton>
        </p>
        </div>
    </div>

    If I amend CommentsEdit.ascx and change the Textbox to the default RadEditor as per Generic_Content, I then get this error:

    Please, use the Content property of RadEditor to set its content.
    The value of the Text property is generated using the value of the Content property.

    This was all working fine before the upgrade, with CommentsEdit.ascx using a Textbox instead of the RadEditor.

    The error occurs in CreateChildContols of ControlPanel, which I cannot see as it's compiled.

    Has anyone else experienced something like this? Or have any idea what might have changed in the upgrade?

    I'll try to provide more information if anyone has any ideas.

    Thanks,
    Tim


  2. Radoslav Georgiev
    Radoslav Georgiev avatar
    3370 posts
    Registered:
    01 Feb 2016
    09 Sep 2010
    Link to this post
    Hi Tim,

    Thank you for using our services.

    I am not sure from which version of Sitefinity to exactly which one of 3.7 you have upgraded but it seems that you are using external templates for the back-end controls of Sitefinity. In this case with the upgrade you should also upgrade the external templates to match the ones for your current version. In your particular case we have modified the CommentsEdit control to use RadEditor instead of a textbox. This means that you have to download the external templates archive for your version of Sitefinity from your account at sitefinity.com and then replace the old comments edit templates with the new ones. You can use this article to find exactly which version of Sitefinity you are using.

    Sincerely yours,
    Radoslav Georgiev
    the Telerik team
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
2 posts, 0 answered