1

OnClientReordered イベントで呼び出されている次の JavaScript があります。並べ替え時にリスト内の項目のテキストを変更しようとしています。私が見ているのは、イベントが最初に発生したときにアイテムが更新されないことです。イベントが 2 回目に発生すると、テキストが正しくレンダリングされます。(値を監視できるため、テキストは適切に変更されており、テキストは正しいです。レンダリングされていないだけです)ここで間違っていることはありますか?APIに関するドキュメントから情報を見つけることができませんでした。

function SetcontentorderNumber() { 
    reg = new RegExp("\\[\\d*\\]") 
    var list = $find("<%= foo.ClientID %>"); 
    var length = list.get_items().get_count(); 

    list.trackChanges(); 
    for (var i = 0; i < length; i++) { 
        var text = list.getItem(i).get_text(); 
        if (reg.test(text)) { 
            texttext = text.replace(reg, "[" + (i + 1) + "] "); 
            list.getItem(i).set_text(text); 
        } 
        else { 
            text = "[" + (i + 1) + "] " + text; 
            list.getItem(i).set_text(text); 
        } 
    } 
    list.commitChanges(); 
} 
4

1 に答える 1

0

これは、2009 年第 3 四半期に使用していた ajax コントロールのバージョンの問題でした。最新バージョンのコントロールを使用してプロジェクトでこれを試してみましたが、うまくいきました。

于 2010-04-22T21:32:34.663 に答える