バージョン

ラッパーの既知の問題と制限 (Ignite UI for MVC)

既知の問題点と制限の概要

以下の表は、Ignite UI for MVC の既知の問題と制限の概要を示します。以下の表は、一部の問題の詳細な説明とその回避策を示します。

凡例:
回避策
既知の回避策はありません
既知の回避策はありません。修正予定です。

Ignite UI for MVC

問題 説明 状態
MVC ヘルパー生成コードと MVC ローダーがカスタムの JavaScript ページ設定コードのあとに実行される ASP.NET MVC ビューにおいてコントロールの MVC ローダーや MVC ヘルパーを使用した場合、それらが生成する JavaScript コードは、$(document).ready()$(window).load() イベントで渡されたカスタムのページ設定コードの後に実行されます。
AutoGenerateLayouts の既定値が変更される グリッドの ASP.NET MVC ヘルパーでは、フラット グリッドに対して別のリモート データ要求が発行されることを防ぐために、AutoGenerateLayouts プロパティの既定値が false に変更されます。
MVC Razor レイアウト ビューで MVC Loader が正常に機能しない ASP.NET MVC Loader を MVC Razor のレイアウト ビューに表示した場合、実際のビューにあるコントロールよりも前にローカルを初期化することはできません。

既知の問題点と制限の詳細

MVC ヘルパー生成コードと MVC ローダーがカスタムの JavaScript ページ設定コードのあとに実行される

ASP.NET MVC ビューにおいてコントロールの MVC ローダーや MVC ヘルパーを使用した場合、それらが生成する JavaScript コードは、$(document).ready()$(window).load() イベントで渡されたカスタムのページ設定コードの後に実行されます。

これは、コントロールがページの本文で描画され、スクリプト コードは通常先頭部分に入れられるためです。MVC ヘルパー コードが描画したコントロールをカスタム コードが参照する場合、コントロールがまだ存在しないため失敗する可能性があります。これはタイミングの問題であるため、MVC Loader が必要なリソースを読み込む速度によって左右されます。

回避方法

dataBound など、コントロール初期化シーケンスの最後のイベントにアタッチし、コントロールのすべての JavaScript コードをイベント ハンドラーから実行します。あるいは、以下のコード スニペットに示すように MVC ヘルパーのあとに短い script ブロックを追加することができます。以下のコードは、すべてのカスタム コードが customControlLogic() 関数によって処理されています。このため、コントロールに影響を与えるコードは、コントロールのインスタンスが作成されたあとで実行されるようになっています。

JavaScript の場合:

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

AutoGenerateLayouts の既定値が変更される

グリッドの ASP.NET MVC ヘルパーでは、フラット グリッドに対して別のリモート データ要求が発行されることを防ぐために、AutoGenerateLayouts プロパティの既定値が false に変更されます。

リモートの並べ替えやフィルタリングといったリモート データ バインド シナリオにおいて、AutoGenerateLayouts を true に設定すると、データ ソースへの要求が増えることになります。AutoGenerateLayouts を false に設定すると、追加の要求を防止することができます。

注:

これは最新の変更です。

MVC Razor レイアウト ビューで MVC Loader が正常に機能しない

Ignite UI for MVC Loader を MVC Razor のレイアウト ビューに表示した場合、実際のビューにあるコントロールよりも前にローカルを初期化することはできません。

ローダーが ASP.NET MVC レイザー アプリケーションのレイアウト ページに含まれている場合、Ignite UI for MVC は適切なローダー コードを生成しません。ASP.NET MVC へルパーは通常の jQuery $(function() { }) (document.ready) 構文を使用します。ASP.NET MVC Razor アプリケーションでのみ発生します。マスター ページのある MVC ASPX ビューでは、この問題は発生しません。

これは、特定のビューが描画されてからレイアウト ビューが処理/実行されるため、ビューのレンダリングの前にローダーを初期化することができないためです。

回避方法

アプリケーションで MVC ローダーを ASP.NET MVC Razor のレイアウト ページに含める代わりに、個別のビューの中に置きます。

オンラインで表示: GitHub