5

更新パネルがあり、パネル内でテキスト ボックスとボタンを使用できます。現在、jQuery Validation プラグインを使用していますが、更新パネルで使用すると検証プラグインが機能しません。

例えば:

function GetAddressTargetList() {
    var objArray = new Array();
    var objAddressElement = new Object();

    objAddressElement = new Object();
    objAddressElement.Id = "ddlAccType"; 
    objAddressElement.Rules = "required";
    objAddressElement.TargetControlType = "select";
    objArray[objArray.length] = objAddressElement;
    objAddressElement = new Object();
}

およびページ レベル (.aspx)

$(document).ready(function () {
    GetAddressTargetList();
});

function pageLoad(sender, args) {
    // To load the tooltip in update panel
    if (args.get_isPartialLoad()) {
        GetAddressTargetList();
    }
}

更新パネルを使用しているときに検証を取得するにはどうすればよいですか?

4

2 に答える 2

3

初期化するのを忘れていると思いますpageLoad

これをコードに追加します。

$(document).ready(function () {
    Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(PageLoaded);
});

function PageLoaded(sender, args) {
    GetAddressTargetList();
}

参照: http://msdn.microsoft.com/en-us/library/bb397523(VS.100).aspx

アップデート

rsのコメント後の競合を避けるために、 pageLoad を PageLoadedに更新しました。私の意見では、UpdatePanel にはイベントを処理する独自の方法があり、ここで試みているのは、UpdatePanel がコンテンツを更新した後に JavaScript でイベントをトリガーすることです。

于 2012-12-19T15:10:33.770 に答える
1

document.ready の代わりにこれを試してください。部分的なポストバックごとに ajax pageLoad が呼び出されます

function pageLoad() { 
    GetAddressTargetList();
  } 
于 2012-12-19T15:17:44.093 に答える