Problem with compatibitly view and lightweight

14 posts, 0 answers
  1. Andreas
    Andreas avatar
    137 posts
    Member since:
    May 2008

    Posted 26 Feb 2015 Link to this post

    Hi,

    We are only using lightweight as render mode on all your controls.
    We have also done a lot of "hacks" (because of issues) and normal css-styling of your controls that are heavily depending on lightweight as render mode.
    What I want to say is that going back to classic mode is not even close to an option...

    But in recent releases (starting with 2014 Q2), this mode is completely broken if users run IE in the evil Compatibilty Mode.
    Even if setting the control to lightweight, it renders classic mode!!!

    This can be easily tested in your demo, for example this will render classic if running IE in Compatibility Mode:
    http://demos.telerik.com/aspnet-ajax/window/examples/rendermode/defaultcs.aspx

    We are also setting the X-UA-Compatible to IE=Edge to force IE to at least use the correct Document Mode...

    Regards
    Andreas
  2. Peter Filipov
    Admin
    Peter Filipov avatar
    1028 posts

    Posted 02 Mar 2015 Link to this post

    Hello Andreas,

    When the browser is in compatibility mode it is treated as IE7 where the Lightweight is not supported and Classic rendering is used instead.

    Regards,
    Peter Filipov
    Telerik
     

    Check out the Telerik Platform - the only platform that combines a rich set of UI tools with powerful cloud services to develop web, hybrid and native mobile apps.

     
  3. UI for ASP.NET Ajax is Ready for VS 2017
  4. Andreas
    Andreas avatar
    137 posts
    Member since:
    May 2008

    Posted 03 Mar 2015 in reply to Peter Filipov Link to this post

    Well that is really bad news...

    Since we are setting the X-UA-Compatible to IE=Edge, the compatibilty view should work just fine with lightwieght!
    I thought that this behavior only was intended to happen when setting RenderMode to Auto?

    Other controls that we have made ourself (same pattern as you are using in Lightweight) are working just fine in compatibitly view when setting X-UA-Compatible to IE=Edge!!!

    Even tried to override the ResolvedRenderMode in your controls and that makes it work just fine, the lightweight mode works as expected. The only problem is that some controls has inner controls that we can't override...

    Regards
    Andreas
  5. Peter Filipov
    Admin
    Peter Filipov avatar
    1028 posts

    Posted 04 Mar 2015 Link to this post

    Hi Anreas,

    We are going to discuss your suggestion not to fallback to Classic mode. In the distributed source code of the control and you could change the code base and build a custom DLL as a temporary solution.
    The files that you need to change are:
    RadCompositeDataBoundControl.cs
    RadDataBoundControl.cs
    RadWebControl.cs


    Change the implementation of the CanRenderInMode method.

    Regards,
    Peter Filipov
    Telerik
     

    Check out the Telerik Platform - the only platform that combines a rich set of UI tools with powerful cloud services to develop web, hybrid and native mobile apps.

     
  6. Andreas
    Andreas avatar
    137 posts
    Member since:
    May 2008

    Posted 05 Mar 2015 in reply to Peter Filipov Link to this post

    Well that works for now...

    I sure hope you make the right decision here, otherwise we will have to code for IE7 for the rest of our life...
    At least as an option!

    Regards
    Andreas
  7. Peter Filipov
    Admin
    Peter Filipov avatar
    1028 posts

    Posted 10 Mar 2015 Link to this post

    Hi Andreas,

    We have discussed the topic and decided not to make such changes, because there are many people which heavily depend on that behavior and it will be a breaking change. As a solution of your case you could use the approach described in my previous post. 

    Regards,
    Peter Filipov
    Telerik
     

    Check out the Telerik Platform - the only platform that combines a rich set of UI tools with powerful cloud services to develop web, hybrid and native mobile apps.

     
  8. Andreas
    Andreas avatar
    137 posts
    Member since:
    May 2008

    Posted 10 Mar 2015 in reply to Peter Filipov Link to this post

    Hi,

    This was really bad news...
    Can't we at least get it as an option (or if we can override some property) so we don't have to make changes and recompile the entire source code every time!

    Making such manual changes are doomed to fail at some time, so probably we wont be using new versions as often as before...

    One bad thing is also that we always tries out your beta versions, that wont be possible anymore (if you don't supply source code for betas also)!

    Regards
    Andreas
  9. Peter Filipov
    Admin
    Peter Filipov avatar
    1028 posts

    Posted 13 Mar 2015 Link to this post

    Hello Andreas,

    We are looking for a solution for the near future but for the next couple of releases you should apply the approach described below. Our ultimate goal is to separate the classic and lightweight rendering and the customers to use only one of them.

    Regards,
    Peter Filipov
    Telerik
     

    Check out the Telerik Platform - the only platform that combines a rich set of UI tools with powerful cloud services to develop web, hybrid and native mobile apps.

     
  10. Tanya Wheatley
    Tanya Wheatley avatar
    1 posts
    Member since:
    May 2010

    Posted 15 Aug Link to this post

    Hi,

    Has this issue now been resolved and part of the core build?

    Would you be able to provide an update.

    Many thanks in advance.

     

  11. Marin Bratanov
    Admin
    Marin Bratanov avatar
    3595 posts

    Posted 16 Aug Link to this post

    Hello Tanya,

    For the time being such a facility is not planned. Use cases are quite limited and demand is low, while a change would be a breaking change and is likely to introduce problems for people who never had them.

    I must, once again, note that the IE Compatibility View is not supported and there are ways to avoid it.

    Regards,

    Marin Bratanov
    Telerik by Progress
    Do you need help with upgrading your ASP.NET AJAX, WPF or WinForms projects? Check the Telerik API Analyzer and share your thoughts.
  12. Andreas
    Andreas avatar
    137 posts
    Member since:
    May 2008

    Posted 27 Sep in reply to Marin Bratanov Link to this post

    Hi,

    Well the "ways to avoid it" has proven almost impossible for us! If you are taking about telling thousands of end users to stop using Compatibility View or even in a corporate environment it is really hard to make them push out gpo:s to avoid this evil thing...

    For now, we are forced to make change in the telerik source code and compile manually each release, which is really annoying!

    We have to change this in RenderModeBrowserAdaptor.cs:

    public virtual bool IsModernBrowser
    {
      get
      {
        return true; //(!IsBrowser("IE") || Version >= 8);
      }
    }

    And setting the X-UA-Compatible to IE=Edge...

    Can't you make this as an option at least (ForceModernBrowser or something)?

    So we don't have to recompile each release, or even start using nuget...

    Regards
    Andreas

  13. Genady Sergeev
    Admin
    Genady Sergeev avatar
    1596 posts

    Posted 04 Oct Link to this post

    Hi Andreas,

    We will change the behavior so that hardcoded RenderMode.Lightweight won't fallback to Classic but will stay as it is for the use case where there is X-UA-Compatible header set on the server-side. This will resolve the issue.

    Can you confirm that in your scenario you set the X-UA-Compatible on the server? As far as we know this is the only case where one can override the built-in IE preferences for compatibility view.

    Regards,
    Genady Sergeev
    Telerik by Progress
    Do you need help with upgrading your ASP.NET AJAX, WPF or WinForms projects? Check the Telerik API Analyzer and share your thoughts.
  14. Andreas
    Andreas avatar
    137 posts
    Member since:
    May 2008

    Posted 06 Oct in reply to Genady Sergeev Link to this post

    Hi!

    Yes we are setting the X-UA-Compatible in our page base class like this in Page_Render:

    Response.AddHeader("X-UA-Compatible", "IE=Edge");

    We can set it earlier if that will be needed for this to work...

    Regards
    Andreas

  15. Genady Sergeev
    Admin
    Genady Sergeev avatar
    1596 posts

    Posted 13 Oct Link to this post

    Hi Andreas,

    We will post instructions when ready. I will update this thread by then.

    Regards,
    Genady Sergeev
    Telerik by Progress
    Do you need help with upgrading your ASP.NET AJAX, WPF or WinForms projects? Check the Telerik API Analyzer and share your thoughts.
Back to Top
UI for ASP.NET Ajax is Ready for VS 2017