Version

Wrappers Known Issues and Limitations (Ignite UI for MVC)

Known Issues and Limitations Summary

The following table summarizes the known issues and limitations of the Ignite UI for MVC. Detailed explanations of some of the issues and the existing workarounds are provided after the summary table.

Legend:
Workaround available
No known workaround
No known workaround, fix planned

Ignite UI for MVC

Issue Description Status
MVC helper-generated code in conjunction with the MVC Loader executes after any custom JavaScript code on a page When the MVC Loader and an MVC Helper for any control is used in an ASP.NET MVC View, the JavaScript code they generate is executed after any custom page set-up code from the $(document).ready() or $(window).load() events.
Default value for AutoGenerateLayouts changed In the ASP.NET MVC Helper for grids, the default value of the AutoGenerateLayouts property has changed to false in order to avoid an additional remote data request for flat grids.
MVC Loader not functioning correctly in an MVC Razor Layout View The ASP.NET MVC Loader cannot initialize before the controls in an actual View when it is included in an ASP.NET MVC Razor Layout View.

Known Issues and Limitations Details

MVC helper-generated code in conjunction with the MVC Loader executes after any custom JavaScript code on a page

When the MVC Loader and an MVC Helper for any control is used in an ASP.NET MVC View, the JavaScript code they generate is executed after any custom page set-up code from the $(document).ready() or $(window).load() events.

This is because the control is rendered in the body part of a page and script code is usually put in the head part. If the custom code refers to the control rendered by the MVC helper code, it may fail since the control does not exist yet. This is a timing issue and depends on how quickly the loader loads necessary resources.

Workaround

Attach to the last event in the control initialization sequence like dataBound and execute any JavaScript code on the control from the event handler. Alternatively, you can put a short script block after the MVC helper like the one in the code snippet below. In the code below, the customControlLogic() function handles any custom code. This ensures that code affecting the control will execute after the control has instantiated.

In JavaScript:

$.ig.loader(function () {
    customControlLogic();
});

Default value for AutoGenerateLayouts changed

In the ASP.NET MVC Helper for grids, the default value of the AutoGenerateLayouts property has changed to false in order to avoid an additional remote data request for flat grids.

When AutoGenerateLayouts is set to true in remote data binding scenarios such as remote sorting and filtering, there is an additional request to the data source. When AutoGenerateLayouts is set to false, that additional request is prevented.

Note:

This is a breaking change.

MVC Loader not functioning correctly in an MVC Razor Layout View

The Ignite UI for MVC Loader cannot initialize before the controls in an actual View when it is included in an ASP.NET MVC Razor Layout View.

Ignite UI for MVC do not produce the proper Loader code when the Loader is included in a layout page in an ASP.NET MVC Razor application. They use the regular jQuery $(function() { }) (document.ready) syntax. This happens only for ASP.NET MVC Razor applications. In MVC ASPX Views with master pages this problem does not occur.

The reason for this is that layout Views are processed and executed after the particular View is rendered and the Loader has no chance to initialize prior to View rendering.

Workaround

Do not to include the MVC Loader in an ASP.NET MVC Razor layout page in your applications; instead, include it in each particular View.

View on GitHub