1

昨年、すべての新機能を ASP.NET MVC に移行しました。

ただし、多くの JavaScript コードを含む従来の WebForms ページがまだたくさんあります。これらをすぐにアップグレードする機会はありません。

最近では、ASP.NET 4 にも移行しましたが、これにより、これらのレガシー ページの JavaScript コードの負荷が壊れたようです。

クライアントIDの前は次のとおりです。

ctl001_masterControlName_panelControlName_controlWeWant

現在、それらは次のようになりました。

ctl001_masterControlName_panelControlName_controlWeWant_0

その_0接尾辞はどこから来たのですか?controlWeWantには 1 つしかないpanelControlNameため、サフィックスは値を追加しません。

ハードコーディングされたクライアント ID が WebForms ではよくないことはわかっています。私たちが ASP.NET MVC に移行した理由の 1 つは、WebForms によって生成されるひどい HTML でした。しかし、このレガシ コードについては、私たちはそれで行き詰まっており、私はそれを変更するつもりはありません (適切に変更する自由な時間ができる日が来るまで)。

_0ASP.NET 4 がサフィックスを追加するのはなぜですか?

オフにできますか?

それを回避する別の方法はありますか?

4

1 に答える 1

1

ASP.NET 4.0 の新機能 - クリーナー マークアップ用の ClientID の生成 を確認してください。ID 生成に関して、ASP.NET 4.0 のいくつかの新機能について説明します。

于 2010-10-26T11:42:11.733 に答える