1

を使用してページを読み込もうとしています$.ajax()。アクションを持つを表示しています: IndexCreateDeleteCreateページには、Telerik MVC のグリッドがあります。この問題は、私がページIndexにいて、現在のページのコンテンツを置き換えるajax 呼び出しでページCreateロードしたときに発生します。ページは完全にロードされていますが、グリッドは機能しません。 undefinedが返されます。$('#gridname').data('tGrid')

JavaScript コードの例。

$.ajax({
    url: '/Person/Create',
    contentType: 'application/html; charset=utf-8',
    type: 'GET',
    dataType: 'html',
    cache: false,
    success: function (data) {
        $('#main').html($(data).fadeIn(fade));
    }
});

ありがとう

4

1 に答える 1

1

私は何度もこの問題に直面しました。問題は、部分ビューのTelerikコントロールがレンダリングされるときにscript、コントロールを初期化するために必要なJavaScriptのタグが追加されることです。jQueryを使用すると、そのscriptタグが削除されます$.ajax。次のことを試してください。

$('#main').load('/Person/Create');

jQuery.loadscriptタグを文字列化しません。

編集:

ただだけではないようloadです。Telerikはここにそれについての記事を持っています:

http://www.telerik.com/help/aspnet-mvc/using-with-partial-views-loaded-via-ajax.html

基本的に、Telerikスクリプトがページで参照されていることを確認する必要があり(自動的に追加されないため)、データをバインドするにはajaxを使用する必要があります。

于 2012-05-23T21:23:02.010 に答える