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();
}