0

私のページのレイアウトについて説明しましょう。私のページにはスプリッターがあり、左側のページはナビゲーションパネル、右側のページはコンテンツです。したがって、ユーザーがパネル上のノードをクリックすると、コンテンツが右側に表示されます。問題は、ユーザーが表示されたコンテンツに値を指定したときに、リモート検証が実行されないことです。ページが部分的に表示されておらず、機能しているときにこれを試しました。

部分ビューをロードするときのスクリプトは次のとおりです。

var onPanelItemSelect = function (e) {

    var windowPath;

    windowPath = $(e.item).attr('data-value');

    if (windowPath != '#') {

        $.ajax({
            type: 'GET',
            url: windowPath,
            success: function (data) {
                $('#right_pane').html(data);                                
            }
        });
    }

    return false;
}
4

5 に答える 5

0

基本的に、同じモデルを使用してメインページとパーシャルをバインドすると、プロパティ名が正しくバインドされないという問題もあると思います。

たとえば、2つのパネル(ModelClass.LeftPanelおよびModelClass.RightPanelと呼ばれる)にそれぞれプロパティを持つモデルクラス(ModelClassと呼ばれる)がある場合

LeftPanelには、右側の部分ページにバインドするために使用するプロパティ(TextProperty)を含めることができます。'RightPanel.TextProperty'という名前であることが期待されますが、実際には'TextProperty'という名前になります。これは、リモート検証にも影響を与える可能性があります。

このStackoverflowの質問では、問題と思われるものと、そのさまざまな解決策について説明します。

お役に立てれば。

于 2013-01-28T07:00:05.900 に答える
0

これを試して:

変化する

success: function (data) {
$('#right_pane').html(data);                                
}

success: function (data) {
$('#right_pane').html(data);
jQuery.validator.unobtrusive.parse("#right_pane");                                
}
于 2013-06-07T13:41:48.087 に答える
0

部分ページに validate.min.js と validate.unobtrusive.js への参照を追加してください。それは私のために働いています。

PS: 手遅れですか :)

于 2013-11-29T08:55:28.120 に答える
0

問題を修正しました。誰かがより良い答えを持っていれば、私はオープンです。各ビューのヘッダーに、validate と控えめなスクリプトを添付します。

于 2013-02-05T08:47:30.330 に答える
-1

私の記事には、リモート検証用の記述コードがあります。それを参照してください。

リモート検証の記事

于 2013-04-01T07:40:24.950 に答える