IE9 issue

2 posts, 1 answers
  1. Yeroon
    Yeroon avatar
    87 posts
    Member since:
    Oct 2012

    Posted 12 Jan 2012 Link to this post

    Hello,

    I read already that there are IE9 issues. I will wait for some hotfix, but here is my code that causes problems in IE9 and the editor. Might help you with the debugging.

    Below you will ind my Aspx page, Code-behind and the content file I load into the editor.

    Scenario: Click a treeview node to load content into editor. In the content (see below) in the 2nd paragraph (indicated by 2nd bold line) when you try to select text a few lines below that bold part, it won't select anything. And when you click a few times, the editor puts cursor at the bottom and scrolls down. I disabled my timer (auto save) but that didnt help.

    Ways to prevent:
    1. Use meta tag to force IE8 mode
    2. Use different browser
    3. Put editor in fullscreen mode (F11)

    I hope this info helps you track down the problems :-)

    Meta would be :

    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />

    Aspx file

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default" %>
      
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <head runat="server">
        <title>HezelTax - Artikel Editor</title>
        <style type="text/css">
            html, body, form
            {
                height: 100%;
                margin: 0px;
                padding: 0px;
                font-family: verdana;
                font-size: 0.9em;
            }
              
            div.RadTabStrip .rtsUL
            {
                float: none;
                background: #ccc;
            }
              
            div.RadTabStrip .rightTab
            {
                float: right;
            }
            #RadSplitter1
            {
                margin-top: 15px;
            }
            .reTool.Metro .InsertSpecialLink
            {
            }
        </style>
        <telerik:RadStyleSheetManager ID="RadStyleSheetManager1" runat="server" />
        <telerik:RadScriptBlock ID="rsb" runat="server">
            <script type="text/javascript">
                function setSplitInfo(sender, args) {
                    window.$find("<%=ram.ClientID%>").ajaxRequest('split_main');
                }
                function setSplitInfoTop(sender, args) {
                    window.$find("<%=ram.ClientID%>").ajaxRequest('split_top');
                }
                function rtvExplore_OnNodeExpandedCollapsed(sender, eventArgs) {
                    var allNodes = eventArgs._node.get_treeView().get_allNodes();
      
                    var i;
                    var selectedNodes = "";
      
                    for (i = 0; i < allNodes.length; i++) {
                        if (allNodes[i].get_expanded())
                            selectedNodes += allNodes[i].get_value() + "*";
                    }
      
                    Set_Cookie("expandedNodes", selectedNodes, 30);
                }
      
                function Set_Cookie(name, value, expires, path, domain, secure) {
                    var today = new Date();
                    today.setTime(today.getTime());
                    if (expires) {
                        expires = expires * 1000 * 60 * 60 * 24;
                    }
                    var expires_date = new Date(today.getTime() + (expires));
      
                    document.cookie = name + "=" + escape(value) +
                        ((expires) ? ";expires=" + expires_date.toGMTString() : "") +
                            ((path) ? ";path=" + path : "") +
                                ((domain) ? ";domain=" + domain : "") +
                                    ((secure) ? ";secure" : "");
                }
                function editorModeChanged(editor, args) {
                    var mode = editor.get_mode();
                    switch (mode) {
                        case 1:
                            //We are in Design mode
                            if (editor.isFullScreen())
                                editor.fire("ToggleScreenMode");
                            break;
                        case 2:
                            //We are in Html mode
                            if (editor.isFullScreen())
                                editor.fire("ToggleScreenMode");
                            break;
                        case 4:
                            if (!editor.isFullScreen())
                                editor.fire("ToggleScreenMode");
                            break;
                    }
                }
                function OnClientLoad(sender, args) {
    //                var timer = $find("<%=Timer1.ClientID %>");
    //                sender.add_spellCheckLoaded(function () {
    //                    var spell = sender.get_ajaxSpellCheck();
    //                    spell.add_spellCheckStart(function (sender, args) {
    //                        timer._stopTimer();
    //                    });
    //                    spell.add_spellCheckEnd(function (sender, args) {
    //                        timer._startTimer();
      
    //                    });
    //                }
    //            );
                }
      
            </script>
        </telerik:RadScriptBlock>
    </head>
    <body>
        <form id="form1" runat="server">
        <telerik:RadFormDecorator runat="server" ID="rfd" DecoratedControls="All" Skin="Metro" />
        <telerik:RadScriptManager ID="RadScriptManager1" runat="server" ScriptMode="Release"
            EnableScriptCombine="True" EnableCdn="True">
            <Scripts>
                <%--Needed for JavaScript IntelliSense in VS2010--%>
                <%--For VS2008 replace RadScriptManager with ScriptManager--%>
                <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.Core.js" />
                <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQuery.js" />
                <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQueryInclude.js" />
            </Scripts>
        </telerik:RadScriptManager>
        <script type="text/javascript">
             
        </script>
        <div id="ParentDivElement" style="height: 100%;">
            <telerik:RadSplitter ID="MainSplitter" runat="server" Height="100%" Width="100%"
                Orientation="Horizontal" Skin="Metro">
                <telerik:RadPane ID="TopPane" runat="server" Height="28" MinHeight="28" MaxHeight="28"
                    Scrolling="none" OnClientResized="setSplitInfoTop" OnClientCollapsed="setSplitInfoTop"
                    OnClientExpanded="setSplitInfoTop">
                    <telerik:RadTabStrip ID="RadTabStrip1" runat="server" MultiPageID="MultiPage1">
                        <Tabs>
                            <telerik:RadTab Text="Artikelen" Selected="true" PageViewID="RadPageView1">
                            </telerik:RadTab>
                            <telerik:RadTab Text="Tooltips" NavigateUrl="~/ToolTips.aspx">
                            </telerik:RadTab>
                            <telerik:RadTab Text="Afmelden" NavigateUrl="~/Logoff.aspx">
                            </telerik:RadTab>
                            <telerik:RadTab Text="Welkom " OuterCssClass="rightTab" Value="userid" />
                        </Tabs>
                    </telerik:RadTabStrip>
                </telerik:RadPane>
                <telerik:RadSplitBar ID="RadsplitbarTop" runat="server" CollapseMode="Forward" />
                <telerik:RadPane ID="MainPane" runat="server" Scrolling="none" MinWidth="500">
                    <telerik:RadSplitter ID="NestedSplitter" runat="server" Skin="Metro" HeightOffset="140"
                        LiveResize="false">
                        <telerik:RadPane ID="LeftPane" runat="server" Width="200" MinWidth="150" MaxWidth="400"
                            OnClientResized="setSplitInfo" OnClientCollapsed="setSplitInfo" OnClientExpanded="setSplitInfo">
                            <telerik:RadTreeView ID="rtv" runat="server" Skin="Metro" OnNodeExpand="rtv_NodeExpand"
                                OnNodeClick="rtv_NodeClick" OnClientNodeExpanded="rtvExplore_OnNodeExpandedCollapsed"
                                OnClientNodeCollapsed="rtvExplore_OnNodeExpandedCollapsed">
                            </telerik:RadTreeView>
                        </telerik:RadPane>
                        <telerik:RadSplitBar ID="VerticalSplitBar" runat="server" CollapseMode="Forward" />
                        <telerik:RadPane ID="ContentPane" runat="server" Height="100%" Scrolling="None">
                            <telerik:RadMultiPage ID="MultiPage1" runat="server" Height="100%">
                                <telerik:RadPageView ID="RadPageView1" runat="server" Selected="true" Height="98%">
                                    <telerik:RadTabStrip ID="rtsArtikel" runat="server" MultiPageID="MultiPage2">
                                        <Tabs>
                                            <telerik:RadTab Text="Kernwoorden" Selected="true" PageViewID="rpvKernwoorden">
                                            </telerik:RadTab>
                                            <telerik:RadTab Text="Artikel" PageViewID="rpvAtikel">
                                            </telerik:RadTab>
                                        </Tabs>
                                    </telerik:RadTabStrip>
                                    <telerik:RadMultiPage ID="MultiPage2" runat="server" Height="100%">
                                        <telerik:RadPageView ID="rpvKernwoorden" runat="server" Selected="true" Height="98%">
                                            <div style="width: 240px; display: inline; float: left; margin-left: 4px; margin-top: 4px;">
                                                <asp:Button runat="server" ID="btnSave" Text="Opslaan" OnClick="btnSave_Click" Width="100" />
                                                <asp:Button runat="server" ID="btnPreview" Text="Preview" OnClientClick="return false;"
                                                    Width="100" />
                                            </div>
                                            <div style="width: 40px; display: inline; float: left; margin-top: 12px;">
                                                <telerik:RadAjaxLoadingPanel ID="lp" runat="server" IsSticky="True" EnableAjaxSkinRendering="False"
                                                    EnableEmbeddedSkins="False">
                                                    <asp:Image ID="Image2" runat="server" AlternateText="Loading..." ImageUrl="~/Styles/Images/whiteloader.gif" />
                                                </telerik:RadAjaxLoadingPanel>
                                            </div>
                                            <div style="width: 320px; display: inline; float: left; margin-left: 4px; margin-top: 12px;">
                                                <asp:Label runat="server" ID="lblInfo2"></asp:Label>
                                            </div>
                                              
                                              
                                            <telerik:RadEditor ID="RadEditor2" runat="server" ToolbarMode="Default" ToolsFile="Tools.xml"
                                                StripFormattingOptions="All" NewLineMode="P" Width="98%" Language="nl-NL"
                                                AutoResizeHeight="False" OnClientModeChange="editorModeChanged" ContentAreaCssFile="~/Styles/EditorCss.css"
                                                LocalizationPath="~/Resources/" ExternalDialogsPath="~/Resources/EditorDialogs/"
                                                EnableViewState="true" OnClientLoad="OnClientLoad">
                                                <FontNames>
                                                    <telerik:EditorFont runat="server" Value="Verdana" />
                                                </FontNames>
                                                <SpellCheckSettings AllowAddCustom="True" DictionaryLanguage="nl-NL"></SpellCheckSettings>
                                                <MediaManager UploadPaths="~/Media/" ViewPaths="~/Media/" DeletePaths="~/Media/"
                                                    MaxUploadFileSize="10240000"></MediaManager>
                                                <ImageManager UploadPaths="~/Media/" ViewPaths="~/Media/" DeletePaths="~/Media/"
                                                    EnableImageEditor="False" MaxUploadFileSize="10240000" EnableThumbnailLinking="True">
                                                </ImageManager>
                                                <DocumentManager ViewPaths="~/Documents/" UploadPaths="~/Documents/" DeletePaths="~/Documents/" />
                                            </telerik:RadEditor>
                                        </telerik:RadPageView>
                                        <telerik:RadPageView ID="rpvAtikel" runat="server" Selected="false" Height="98%">
                                            <div style="width: 240px; display: inline; float: left; margin-left: 4px; margin-top: 4px;">
                                                <asp:Button runat="server" ID="btnSave2" Text="Opslaan" OnClick="btnSave_Click" Width="100" />
                                                <asp:Button runat="server" ID="btnPreview2" Text="Preview" OnClientClick="return false;"
                                                    Width="100" />
                                            </div>
                                            <div style="width: 40px; display: inline; float: left; margin-top: 12px;">
                                                <telerik:RadAjaxLoadingPanel ID="lp2" runat="server" IsSticky="True" EnableAjaxSkinRendering="False"
                                                    EnableEmbeddedSkins="False">
                                                    <asp:Image ID="Image1" runat="server" AlternateText="Loading..." ImageUrl="~/Styles/Images/whiteloader.gif" />
                                                </telerik:RadAjaxLoadingPanel>
                                            </div>
                                            <div style="width: 320px; display: inline; float: left; margin-left: 4px; margin-top: 12px;">
                                                <asp:Label runat="server" ID="lblInfo"></asp:Label>
                                            </div>
                                              
                                              
                                            <telerik:RadEditor ID="RadEditor1" runat="server" ToolbarMode="Default" ToolsFile="Tools.xml"
                                                StripFormattingOptions="All" NewLineMode="P" EnableViewState="true" Width="98%"
                                                 Language="nl-NL" AutoResizeHeight="False" OnClientModeChange="editorModeChanged"
                                                ContentAreaCssFile="~/Styles/EditorCss.css" LocalizationPath="~/Resources/"
                                                ExternalDialogsPath="~/Resources/EditorDialogs/" OnClientLoad="OnClientLoad">
                                                <FontNames>
                                                    <telerik:EditorFont runat="server" Value="Verdana" />
                                                </FontNames>
                                                <SpellCheckSettings AllowAddCustom="True" DictionaryLanguage="nl-NL"></SpellCheckSettings>
                                                <MediaManager UploadPaths="~/Media/" ViewPaths="~/Media/" DeletePaths="~/Media/"
                                                    MaxUploadFileSize="10240000"></MediaManager>
                                                <ImageManager UploadPaths="~/Media/" ViewPaths="~/Media/" DeletePaths="~/Media/"
                                                    EnableImageEditor="False" MaxUploadFileSize="10240000" EnableThumbnailLinking="True">
                                                </ImageManager>
                                                <DocumentManager ViewPaths="~/Documents/" UploadPaths="~/Documents/" DeletePaths="~/Documents/" />
                                            </telerik:RadEditor>
                                        </telerik:RadPageView>
                                    </telerik:RadMultiPage>
                                </telerik:RadPageView>
                            </telerik:RadMultiPage>
                        </telerik:RadPane>
                    </telerik:RadSplitter>
                </telerik:RadPane>
            </telerik:RadSplitter>
        </div>
        <asp:Timer ID="Timer1" runat="server" Interval="60000" OnTick="Timer1_Tick">
        </asp:Timer>
        <telerik:RadAjaxManager runat="server" ID="ram" OnAjaxRequest="ram_AjaxRequest" UpdatePanelsRenderMode="Inline">
            <AjaxSettings>
                <telerik:AjaxSetting AjaxControlID="ram">
                    <UpdatedControls>
                        <telerik:AjaxUpdatedControl ControlID="ram" />
                    </UpdatedControls>
                </telerik:AjaxSetting>
                <telerik:AjaxSetting AjaxControlID="rtv">
                    <UpdatedControls>
                        <telerik:AjaxUpdatedControl ControlID="RadEditor1" />
                        <telerik:AjaxUpdatedControl ControlID="RadEditor2" />
                        <telerik:AjaxUpdatedControl ControlID="lblInfo" />
                        <telerik:AjaxUpdatedControl ControlID="btnPreview" />
                        <telerik:AjaxUpdatedControl ControlID="lblInfo2" />
                        <telerik:AjaxUpdatedControl ControlID="btnPreview2" />
                    </UpdatedControls>
                </telerik:AjaxSetting>
                <telerik:AjaxSetting AjaxControlID="btnSave">
                    <UpdatedControls>
                        <telerik:AjaxUpdatedControl ControlID="RadEditor1" LoadingPanelID="lp" />
                        <telerik:AjaxUpdatedControl ControlID="RadEditor2" />
                        <telerik:AjaxUpdatedControl ControlID="lblInfo" />
                        <telerik:AjaxUpdatedControl ControlID="btnPreview" />
                        <telerik:AjaxUpdatedControl ControlID="lblInfo2" />
                        <telerik:AjaxUpdatedControl ControlID="btnPreview2" />
                    </UpdatedControls>
                </telerik:AjaxSetting>
                <telerik:AjaxSetting AjaxControlID="btnSave2">
                    <UpdatedControls>
                        <telerik:AjaxUpdatedControl ControlID="RadEditor1" />
                        <telerik:AjaxUpdatedControl ControlID="RadEditor2" LoadingPanelID="lp2" />
                        <telerik:AjaxUpdatedControl ControlID="lblInfo" />
                        <telerik:AjaxUpdatedControl ControlID="btnPreview" />
                        <telerik:AjaxUpdatedControl ControlID="lblInfo2" />
                        <telerik:AjaxUpdatedControl ControlID="btnPreview2" />
                    </UpdatedControls>
                </telerik:AjaxSetting>
                <telerik:AjaxSetting AjaxControlID="Timer1">
                    <UpdatedControls>
                        <telerik:AjaxUpdatedControl ControlID="lblInfo" />
                        <telerik:AjaxUpdatedControl ControlID="btnPreview" />
                        <telerik:AjaxUpdatedControl ControlID="lblInfo2" />
                        <telerik:AjaxUpdatedControl ControlID="btnPreview2" />
                    </UpdatedControls>
                </telerik:AjaxSetting>
            </AjaxSettings>
        </telerik:RadAjaxManager>
        <telerik:RadScriptBlock runat="server" ID="rsbottom">
            <script type="text/javascript">
                Telerik.Web.UI.Editor.CommandList["InsertSpecialLink"] = function (commandName, editor, args) {
                    var elem = editor.getSelectedElement(); //returns the selected element.            
                    if (elem.tagName == "A") {
                        editor.selectElement(elem);
                        argument = elem;
                    }
                    else {
                        var content = editor.getSelectionHtml();
                        var link = editor.get_document().createElement("A");
                        link.innerHTML = content;
                        argument = link;
                    }
      
                    var myCallbackFunction = function (sender, args) {
                        editor.pasteHtml(String.format("[[{3}|{2}]] ", args.href, args.target, args.className, args.name));
                    };
      
                    editor.showExternalDialog('InsertLink.aspx', argument, 390, 260, myCallbackFunction, null, 'Tooltip invoegen', true, Telerik.Web.UI.WindowBehaviors.Close + Telerik.Web.UI.WindowBehaviors.Move, false, false);
                };
      
                  
            </script>
        </telerik:RadScriptBlock>
        </form>
    </body>
    </html>


    Code behind:

    using System;
    using System.Drawing;
    using System.Web;
    using Business;
    using Hive;
    using Hive.Core;
    using Hive.SQL;
    using Telerik.Web.UI;
    using Process;
      
    public partial class Default : System.Web.UI.Page
    {
      
        private Functies _functiesZonderArtikel;
      
        protected void Page_Load(object sender, EventArgs e)
        {
            Gebruiker.forceLogin();
            Timer1.Enabled = false;
      
            RadTab tab = RadTabStrip1.FindTabByValue("userid");
            tab.Text = "Welkom " + Gebruiker.getCurrent();
      
            StoredProcedure sp = new StoredProcedure("getFunctieZonderArtikel");
            _functiesZonderArtikel = new Functies();
            _functiesZonderArtikel.retrieve(sp);
      
            if (!IsPostBack)
            {
                lblInfo.Text = lblInfo2.Text = "Laatste keer opgeslagen: n.v.t.";
                loadFuntieTree();
                PaneSettings.LoadState_Click(MainSplitter);
                PaneSettings.LoadState_Click(NestedSplitter);
      
                HttpCookie cookie = Request.Cookies["expandedNodes"];
                if (cookie != null)
                {
                    string[] expandedNodeValues = cookie.Value.Split('*');
                    foreach (string nodeValue in expandedNodeValues)
                    {
                        RadTreeNode expandedNode = rtv.FindNodeByValue(HttpUtility.UrlDecode(nodeValue));
                        if (expandedNode != null)
                        {
                            expandedNode.Expanded = true;
                            loadNode(expandedNode);
                        }
                    }
                }
            }
        }
      
        private void loadArtikel(Functie functie)
        {
            Artikel artikel = Artikel.getArtikelBijFunctie(functie);
            if (!artikel.isDBNull())
            {
                RadEditor1.Content = artikel.omschrijving;
                RadEditor2.Content = artikel.titel;
                btnPreview.OnClientClick = btnPreview2.OnClientClick = string.Format("window.open('Preview.aspx?artikel={0}'); return false;", artikel.oid);
            }
            else
            {
                RadEditor1.Content = "Nog geen artikel";
                RadEditor2.Content = "Nog geen kernwoorden";
                btnPreview.OnClientClick = btnPreview2.OnClientClick = "return false;";
            }
      
            lblInfo.Text = lblInfo2.Text = "Laatste keer opgeslagen: n.v.t.";
        }
      
        private void loadFuntieTree()
        {
            SelectCriteria sc = new SelectCriteria(typeof(Functie), "parent", null, SqlOperator.equal);
            Functies functies = new Functies();
            functies.retrieve(sc);
            functies.sortByProperty("OID");
      
            foreach (Functie functie in functies)
            {
                RadTreeNode node = new RadTreeNode(functie.thema, functie.oid);
                node.ExpandMode = TreeNodeExpandMode.ServerSideCallBack;
      
                if (_functiesZonderArtikel.contains(functie))
                    node.ForeColor = Color.Red;
      
                rtv.Nodes.Add(node);
            }
      
        }
      
        private void loadNode(RadTreeNode node)
        {
            SelectCriteria sc = new SelectCriteria(typeof(Functie), "parent", node.Value, SqlOperator.equal);
            Functies functies = new Functies();
            functies.retrieve(sc);
            functies.sortByProperty("OID");
      
            foreach (Functie f in functies)
            {
                RadTreeNode cnode = new RadTreeNode();
                cnode.Text = f.thema;
                cnode.Value = f.oid;
                  
                if (_functiesZonderArtikel.contains(f))
                    cnode.ForeColor = Color.Red;
      
                node.Nodes.Add(cnode);
            }
      
      
            node.ExpandMode = TreeNodeExpandMode.ClientSide;
        }
      
        protected void rtv_NodeExpand(object sender, RadTreeNodeEventArgs e)
        {
            SelectCriteria sc = new SelectCriteria(typeof(Functie), "parent", e.Node.Value, SqlOperator.equal);
            Functies functies = new Functies();
            functies.retrieve(sc);
            functies.sortByProperty("OID");
      
            foreach (Functie f in functies)
            {
                RadTreeNode node = new RadTreeNode();
                node.Text = f.thema;
                node.Value = f.oid;
      
                if (_functiesZonderArtikel.contains(f))
                    node.ForeColor = Color.Red;
      
                e.Node.Nodes.Add(node);
            }
      
            e.Node.Expanded = true;
            e.Node.ExpandMode = TreeNodeExpandMode.ClientSide;
      
        }
      
      
          
      
        protected void ram_AjaxRequest(object sender, AjaxRequestEventArgs e)
        {
            if (e.Argument != null)
            {
                switch (e.Argument.ToLower())
                {
                    case "split_top":
                        PaneSettings.SaveState_Click(MainSplitter);
                        break;
                    case "split_main":
                        PaneSettings.SaveState_Click(NestedSplitter);
                        break;
      
                }
            }
      
        }
      
        protected void rtv_NodeClick(object sender, RadTreeNodeEventArgs e)
        {
            if (rtv.SelectedNodes.Count == 1)
            {
                loadArtikel(new Functie(rtv.SelectedNode.Value));
            }
      
        }
      
        protected void btnSave_Click(object sender, EventArgs e)
        {
            Broker b = Broker.instance();
            b.startTransaction();
            string oid = "";
            try
            {
                if (rtv.SelectedNodes.Count == 1)
                {
                    Guid guid = Guid.NewGuid();
                    Functie curFunctie = new Functie(rtv.SelectedNode.Value);
                    Artikel artikel = Artikel.getArtikelBijFunctie(curFunctie);
                    if (!artikel.isDBNull())
                    {
                        artikel.omschrijving = RadEditor1.Content;
                        artikel.datum = DateTime.Now.Date;
                        artikel.titel = RadEditor2.Content;
                        artikel.save();
                        oid = artikel.oid;
                    }
                    else
                    {
                        artikel = new Artikel();
                        artikel.omschrijving = RadEditor1.Content;
                        artikel.datum = DateTime.Now.Date;
                        artikel.datumIngevoerd = DateTime.Now.Date;
                        artikel.titel = RadEditor2.Content;
                        artikel.uniqueID = guid;
                        artikel.save();
                        oid = artikel.oid;
      
                        if (artikel.profielonderdelen.count() == 0)
                        {
                            ProfielOnderdeel po = new ProfielOnderdeel();
                            po.functie = curFunctie;
                            po.artikel = artikel;
                            po.isGeselecteerd = false;
                            po.save();
      
                        }
                    }
                }
                else
                {
                    ram.Alert("Er is geen functie geselecteerd! Kopieer alle content naar het klembord (ctrl + A, en dan ctrl + C in de editor). Selecteer vervolgens de gewenste functie en plak uw content.");
                }
            }
            catch (Exception ex)
            {
                b.rollbackTransaction();
                lblInfo.Text = lblInfo2.Text = "Laatste keer opgeslagen: n.v.t.";
                btnPreview.OnClientClick = btnPreview2.OnClientClick = "return false;";
                ram.Alert(ex.Message);
            }
      
            if(b.isTransactionActive())
            {
                b.commitTransaction();
                lblInfo.Text = lblInfo2.Text = "Laatste keer opgeslagen: " + DateTime.Now.ToLongTimeString();
                btnPreview.OnClientClick = btnPreview2.OnClientClick = string.Format("window.open('Preview.aspx?artikel={0}'); return false;", oid);
            }
        }
      
        protected void Timer1_Tick(object sender, EventArgs e)
        {
            if (rtv.SelectedNodes.Count != 1 || (RadEditor1.Content == "Nog geen artikel" && RadEditor2.Content == "Nog geen kernwoorden"))
                return;
      
            btnSave_Click(this, null);
        }
    }


    Content for editor:

    <p><b><a href="http://" target="_blank"><b></b></a><a href="http://" target="_blank"><b></b></a><a href="http://" target="_blank"><b></b></a><a href="http://" target="_blank"><b></b></a>Btw Raad en raadscommissies (vacatiegelden, vergoedingen, verzekeringen, excursies e.d.)</b> </p>
    <p>Deze functie ziet op het democratisch functioneren van de gemeente. Bij deze functie handelt de gemeente als overheid, waardoor de daaraan toerekenbare inkoop-btw volledig compensabel is. Verder valt deze functie onder <i>post 45</i> <a id="_anchor_1">[M1]</a> : <i>algemeen bestuur gemeente </i>van de MvF-lijst (=compensabel).</p>
    <p> </p>
    <p><i><span style="text-decoration: underline;">Pas op</span>:</i></p>
    <p> - Naar mening van de belastingdienst kunnen gemeenteraadsleden niet worden aangemerkt als werknemers voor toepassing van het bcf. De  btw ter zake van verstrekkingen aan deze personen (bijvoorbeeld ter zake van declaraties) komt niet voor compensatie in aanmerking, omdat deze personen worden beschouwd als ‘individuele derden’ als bedoeld in <a href="http://wetten.overheid.nl/BWBR0013817/geldigheidsdatum_11-01-2012#Artikel4" target="_blank">artikel 4(1)a Wet BCF</a>. </p>
    <p> - Als facturen voor kosten (bijvoorbeeld auto-, lunch-, parkeer-, telefoondeclaraties) niet op naam van de gemeente staan, is compensatie uitgesloten. Aangezien kassabonnen niet kwalificeren als een factuur, kan de daarop in rekening gebrachte btw in beginsel niet worden gecompenseerd of in aftrek worden gebracht. Door de steekproefcontrole van de belastingdienst bij gemeenten kan een gering ten onrechte gecompenseerd btw-bedrag van een kassabon leiden tot een zeer forse correctie!</p>
    <p> - De declaraties van vervoersbewijzen (taxi of trein) zijn daarentegen wel compensabel, als deze ten laste komen van de gemeente en als overheid worden aangewend.</p>
    <p> - De (afzonderlijk vermelde) inkoop-btw op horecabestedingen (restaurantkosten e.d.) is in beginsel eveneens volledig compensabel, als de facturen op naam staan van de gemeente en als overheid worden aangewend. De inkoop-btw op deze horecabestedingen is echter nimmer aftrekbaar op de btw-aangifte. Indien op deze kosten het [[2|mengpercentage]] van toepassing is, dient met deze aftrekbeperking rekening te worden gehouden.</p>
    <p> - Sinds 1 januari 2007 is de inkoop-btw op personeelsverstrekkingen (voor privé-doeleinden van ambtenaren) volledig compensabel (Besluit van 10 juni 2009, nr. CPP2009/838M<a id="_anchor_4">[M4]</a> ). </p>
    <p> - Personeelsverstrekkingen boven de €227 en toerekenbaar aan het btw-ondernemerschap van de gemeente komen  echter nimmer voor aftrek op de btw-aangifte in aanmerking. Op grond van het Besluit uitsluiting aftrek omzetbelasting<a id="_anchor_5">[M5]</a>  (‘Bua’) is de aftrek van inkoop-btw op desbetreffende personeelsverstrekkingen namelijk volledig uitgesloten. </p>
    <p> - De inkoop-btw op personeelsverstrekkingen, die gelijkgesteld kunnen worden aan btw-vrijgestelde prestaties (zoals het ter beschikking stellen van de ambtswoning aan de burgermeester) is niet compensabel (art. 4 (1)b Wet BCF<a id="_anchor_6">[M6]</a> ). </p>
    <p> </p>
    <p><i>Ergo:</i> de inkoop-btw op personeelsdeclaraties en verstrekkingen vraagt extra aandacht, voordat tot compensatie of aftrek wordt over gegaan.</p>
    <p> </p>
    <p><b>College van burgemeester en wethouders (loonkosten, reis- en verblijfkosten, ambtswoning, huistelefoon, e.d.)</b> </p>
    <p>Deze functie ziet op het democratisch functioneren van de gemeente. Bij deze functie handelt de gemeente als overheid, waardoor de daaraan toerekenbare inkoop-btw volledig compensabel is. Verder valt deze functie onder  <i>post 45</i> <a id="_anchor_7">[M7]</a> : <i>algemeen bestuur gemeente </i>van de MvF-lijst (=compensabel).</p>
    <p> </p>
    <p><i>Pas op:</i></p>
    <p> - Naar mening van de belastingdienst kunnen gemeenteraadsleden niet worden aangemerkt als werknemers voor toepassing van het bcf. De  btw ter zake van verstrekkingen aan deze personen (bijvoorbeeld ter zake van declaraties) komt niet voor compensatie in aanmerking, omdat deze personen worden beschouwd als 'individuele derden' als bedoeld in artikel 4(1)a Wet BCF. </p>
    <p> - Als facturen voor kosten (bijvoorbeeld auto-, lunch-, parkeer-, telefoondeclaraties) niet op naam van de gemeente staan, is compensatie uitgesloten. Aangezien kassabonnen niet kwalificeren als een factuur, kan de daarop in rekening gebrachte btw in beginsel niet worden gecompenseerd of in aftrek worden gebracht. Door de steekproefcontrole van de belastingdienst bij gemeenten kan een gering ten onrechte gecompenseerd btw-bedrag van een kassabon leiden tot een zeer forse correctie!</p>
    <p> - De declaraties van vervoersbewijzen (taxi of trein) zijn daarentegen wel compensabel, als deze ten laste komen van de gemeente en als overheid worden aangewend.</p>
    <p> - De (afzonderlijk vermelde) inkoop-btw op horecabestedingen (restaurantkosten e.d.) is in beginsel eveneens volledig compensabel, als de facturen op naam staan van de gemeente en als overheid worden aangewend. De inkoop-btw op deze horecabestedingen is echter nimmer aftrekbaar op de btw-aangifte. Indien op deze kosten het [[2|mengpercentage]]  van toepassing is, dient met deze aftrekbeperking rekening te worden gehouden.</p>
    <p> - Sinds 1 januari 2007 is de inkoop-btw op personeelsverstrekkingen (voor privé-doeleinden van ambtenaren) volledig compensabel ( Besluit van 10 juni 2009, nr. CPP2009/838M<a id="_anchor_10">[M10]</a> ). </p>
    <p> - Personeelsverstrekkingen boven de €227 en toerekenbaar aan het btw-ondernemerschap van de gemeente komen  echter nimmer voor aftrek op de btw-aangifte in aanmerking. Op grond van het Besluit uitsluiting aftrek omzetbelasting<a id="_anchor_11">[M11]</a>  (‘Bua’) is de aftrek van inkoop-btw op desbetreffende personeelsverstrekkingen namelijk volledig uitgesloten. </p>
    <p> - De inkoop-btw op personeelsverstrekkingen, die gelijkgesteld kunnen worden aan btw-vrijgestelde prestaties (zoals het ter beschikking stellen van de ambtswoning aan de burgermeester) is niet compensabel (art. 4 (1)b Wet BCF<a id="_anchor_12">[M12]</a> ). </p>
    <p> </p>
    <p><i>Ergo:</i> de inkoop-btw op personeelsdeclaraties en verstrekkingen vraagt extra aandacht, voordat tot compensatie of aftrek wordt over gegaan.</p>
    <p> </p>
    <p><b>Functionele en territoriale commissies (commissies ex artikel 96 Gemeentewet</b><b>).</b> </p>
    <p>Deze functie ziet op het democratisch functioneren van de gemeente. Bij deze functie handelt de gemeente als overheid, waardoor de daaraan toerekenbare inkoop-btw volledig compensabel is. Verder valt deze functie onder  <i>post 45</i> <a id="_anchor_14">[M14]</a> : <i>algemeen bestuur gemeente </i>van de MvF-lijst (=compensabel).</p>
    <p><i>Pas op:</i></p>
    <p> - Naar mening van de belastingdienst kunnen gemeenteraadsleden niet worden aangemerkt als werknemers voor toepassing van het bcf. De  btw ter zake van verstrekkingen aan deze personen (bijvoorbeeld ter zake van declaraties) komt niet voor compensatie in aanmerking, omdat deze personen worden beschouwd als ‘individuele derden’ als bedoeld in artikel 4(1)a Wet BCF <a id="_anchor_15">[M15]</a> . </p>
    <p> - Als facturen voor kosten (bijvoorbeeld auto-, lunch-, parkeer-, telefoondeclaraties) niet op naam van de gemeente staan, is compensatie uitgesloten. Aangezien kassabonnen niet kwalificeren als een factuur, kan de daarop in rekening gebrachte btw in beginsel niet worden gecompenseerd of in aftrek worden gebracht. Door de steekproefcontrole van de belastingdienst bij gemeenten kan een gering ten onrechte gecompenseerd btw-bedrag van een kassabon leiden tot een zeer forse correctie!</p>
    <p> - De declaraties van vervoersbewijzen (taxi of trein) zijn daarentegen wel compensabel, als deze ten laste komen van de gemeente en als overheid worden aangewend.</p>
    <p> - De (afzonderlijk vermelde) inkoop-btw op horecabestedingen (restaurantkosten e.d.) is in beginsel eveneens volledig compensabel, als de facturen op naam staan van de gemeente en als overheid worden aangewend. De inkoop-btw op deze horecabestedingen is echter nimmer aftrekbaar op de btw-aangifte. Indien op deze kosten het [[2|mengpercentage]] van toepassing is, dient met deze aftrekbeperking rekening te worden gehouden.</p>
    <p> - Sinds 1 januari 2007 is de inkoop-btw op personeelsverstrekkingen (voor privé-doeleinden van ambtenaren) volledig compensabel ( Besluit van 10 juni 2009, nr. CPP2009/838M<a id="_anchor_17">[M17]</a> ). </p>
    <p> - Personeelsverstrekkingen boven de €227 en toerekenbaar aan het btw-ondernemerschap van de gemeente komen  echter nimmer voor aftrek op de btw-aangifte in aanmerking. Op grond van het Besluit uitsluiting aftrek omzetbelasting<a id="_anchor_18">[M18]</a>  (‘Bua’) is de aftrek van inkoop-btw op desbetreffende personeelsverstrekkingen namelijk volledig uitgesloten. </p>
    <p> - De inkoop-btw op personeelsverstrekkingen, die gelijkgesteld kunnen worden aan btw-vrijgestelde prestaties (zoals het ter beschikking stellen van de ambtswoning aan de burgermeester) is niet compensabel  (art. 4 (1)b Wet BCF).  </p>
    <p><i>Ergo:</i> de inkoop-btw op personeelsdeclaraties en verstrekkingen vraagt extra aandacht, voordat tot compensatie of aftrek wordt over gegaan.</p>
    <p> </p>
    <p><b>Verwante functies;</b><b><span style="text-decoration: underline;"> <br />
    </span></b></p>
    <p><b>Afscheidsreceptie burgemeester</b><b> </b></p>
    <p>Bij het organiseren van een afscheidsreceptie van de burgemeester handelt de gemeente als overheid/niet btw-ondernemer, waardoor de daaraan toerekenbare inkoop-btw volledig compensabel is.</p>
    <p><i></i></p>
    <p><i>Pas op:</i></p>
    <p>De ervaring leert dat de belastingdienst tijdens de btw-/bcf-controles (steekproefmethode) van mening is dat deze kosten moeten worden aangemerkt als een ‘algemene kosten’, waarop het [[2|mengpercentage]] van toepassing is.</p>
    <p> </p>
    <p><b>Nieuwjaarsreceptie</b><b> </b></p>
    <p>Bij het organiseren van de jaarlijkse nieuwjaarsreceptie handelt de gemeente als overheid/niet btw-ondernemer, waardoor de daaraan toerekenbare inkoop-btw volledig compensabel is.</p>
    <p> </p>
    <p><i>Pas op:</i></p>
    <p>De ervaring leert dat de belastingdienst tijdens de btw-/bcf-controles (steekproefmethode) van mening is dat deze kosten moeten worden aangemerkt als een ‘algemene kosten’, waarop het [[2|mengpercentage]] toepassing is.</p>
    <p> </p>
    <div
    <div>
    <div id="_com_1">
    <p> [M1]Link naar document: Lijst MinFin/goedkeuringen<br />
     [M4]Link naar besluit/besluiten</p>
    </div>
    </div>
    <div>
    <div id="_com_5">
    <p> [M5]Pop-up: toelichting en link overheid.nl</p>
    </div>
    </div>
    <div>
    <div id="_com_6">
    <p> [M6]Link naar overheid.nl</p>
    </div>
    </div>
    <div>
    <div id="_com_7">
    <p> [M7]Link naar document: Lijst MinFin/goedkeuringen</p>
    </div>
    </div>
    <div>
    <div id="_com_8">
    <p> [M8]Link naar overheid.nl</p>
    </div>
    </div>
    <div>
    <div id="_com_9">
    <p> [M9]Pop-up: toelichting</p>
    </div>
    </div>
    <div>
    <div id="_com_10">
    <p> [M10]Link naar besluit/besluiten</p>
    </div>
    </div>
    <div>
    <div id="_com_11">
    <p> [M11]Pop-up: toelichting en link overheid.nl</p>
    </div>
    </div>
    <div>
    <div id="_com_12">
    <p> [M12]Link naar overheid.nl</p>
    </div>
    </div>
    <div>
    <div id="_com_13">
    <p> [M13]Link Overheid.nl</p>
    </div>
    </div>
    <div>
    <div id="_com_14">
    <p> [M14]Link lijst Minfin/goedkeuring</p>
    </div>
    </div>
    <div>
    <div id="_com_15">
    <p> [M15]Link naar overheid.nl</p>
    </div>
    </div>
    <div id="_com_17">
    <p> [M17]Link naar besluit/besluiten</p>
    </div>
    </div>
    <div>
    <div id="_com_18">
    <p> [M18]Pop-up: toelichting en link overheid.nl</p>
    </div>
    </div>
    <div>
    <div id="_com_19">
    <p> [M19]Link naar overheid.nl</p>
    </div>
    </div>
    <div>
    <div id="_com_20">
    <p> </p>
    </div>
    </div>
  2. Answer
    Rumen
    Admin
    Rumen avatar
    12849 posts

    Posted 17 Jan 2012 Link to this post

    Hi,

    I tried t reproduce the problem but without success. The provided codebehind code has too many missing dependencies and is not runnable. Could you please isolate the issue in a fully working project and send it for examination via a support ticket?

    Since I was unable to replicate the issue with the provided HTML content, the problem could be due to stylesheet of the site that is applied to the content area. My suggestion is to set the CssFiles property to point to an empty css file and test again. Therefore RadEditor will not pick up the styles from the page.

    Another suggestion is to test with ContentAreaMode="Div" mode.

    Greetings,
    Rumen
    the Telerik team
    If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now
  3. UI for ASP.NET Ajax is Ready for VS 2017
Back to Top