ASP.NET ページに JavaScript 関数があり、グリッド ヘッダーで [すべてをチェック] チェックボックスがオンになっているときに、クライアント側のグリッドのすべてのボックスをチェックします。これは、ループ内の各行の JS 関数で実際のコントロール ID を作成し (つまり、 + '_ ctl' + i + ' ' + ここで、i は現在のループの行インデックスです)、結果のコントロールを次のように設定します。チェック済み。
これは長い間正常に機能していましたが、現在は機能しなくなりました。その理由は、.NET レンダリング エンジンまたは何かが内部コントロール ID を異なる方法で作成しているためです。たとえば、これがまだ機能している別のサーバーでページのソースを表示する場合、コントロール名はdgMain__ctl2_cbxCheckedですが、これが機能していないサーバーのコントロール名はdgMain__ctl02_cbxCheckedです。違いは、動作していないバージョンの 'ctl' 部分の数値 ID の前に余分な ' 0 ' が付いていることです。
これは .NET のバージョンと関係があるのでしょうか? 比較的新しい(古いマシンで動作していた)ローカルマシンでは動作しませんが、運用環境にデプロイされている古いサーバーでは引き続き動作します。両方のバージョンで ASP.NET 1.1 が実行されています (ええ、わかっています - 時間をかけてください)。
これを解決する方法の手がかりはありますか?