私はClientIDがjavascriptに使用され、UniqueIdがサーバー側で使用されていて、そのClientIDがアンダースコア(_)を使用し、UniqueIdがasp.net 2.0でドル記号($)を使用していることがわかります。しかし、私が得られないことは、なぜ2つの異なるidを使うかということです。アンダースコアを使用するか、サーバーとクライアント側の両方でドル記号を使用するだけの理由はありません。誰かがこれを説明できますか?C#asp.net ClientIDとUniqueIDの違いは何ですか?
答えて
さて、あなたはおそらく一意IDが変換後のHTMLタグのid属性とname属性とClientIdを一緒に使用されて知っています。 UniqueIDはセパレータとしてコロンを使用します。一方、ClientIdでは、JavaScriptの変数名にコロンが使用できないため、アンダースコアが区切り文字として使用されます。 ClientIDはUniqueIDと同じようにページ上でも一意ですが、ClientIDはクライアントサイドの処理をターゲットとし、UniqueIDはサーバー側(かなり明白です)、後者は複合コントロールを使用したポストバックデータやイベントをルーティングします。
ただし、私はいくつかの推論は、通常のコントロールIDの区切り記号としてアンダースコアを使用することはかなり一般的な動作であるため、区別することができなかったため、アンダースコアはUniqueIDでコントロール区切り記号として使用できないと考えています(理論的には、コントロール間。一方、同じ理由でコントロールIDにコロンを使用することはできません。ページフレームワークでは許可されません。したがって、コロンがClientIDに到達できないようにします(これはJavaScriptがそれを好まないためでした) 。
これらの理由から、FindControlメソッドはコントロールツリーをナビゲートしてコントロールを見つけるために(ユニークIDを簡単に分割できる)、コロンはUniqueIDで使用するのが良い選択です。
this.UniqueIDは、すべての命名コンテナに追加されたコントロールの名前です。 は、完全修飾されたコントロール名とみなされます。 this.ClientIDは の値で、コントロールのid属性に表示されます。これは の訳であり、uniqueidは(ほぼ)html準拠のidタグ( アンダースコアは実際にhtmlに準拠していません)です。 (上記の私の元の答えに加えて)
- 1. ID対UniqueID対ClientID対UniqueClientID対StaticClientID?
- 2. asp.net、asp.net mvcとasp.netコアの違いは何ですか
- 3. ASP.NETとASP.NET MVCの違いは何ですか?
- 4. asp.net mvcアプリケーションとasp.net Webアプリケーションの違いは何ですか
- 5. ASP.NET OAuth認証 - ClientIdとシークレットとユーザー名とパスワードの使用の違い
- 6. CとC++での "const"の違いは何ですか?
- 7. jtype(JNIの)とC/C++のタイプの違いは何ですか?
- 8. C/C++のrand、urandとirandの違いは何ですか?
- 9. ASP.NET MVCの<%#と<%=の違いは何ですか?
- 10. クライアントブラウザのサブミットメカニズムとASP.NETポストバックメカニズムの違いは何ですか?
- 11. ASP.NETのハイパーリンクコントロールとリンクコントロールの違いは何ですか?
- 12. asp.net MVC 3のViewDataとPageDataの違いは何ですか?
- 13. ASP.NET MVCのRouteLinkとActionLinkの違いは何ですか?
- 14. 「Cシステムコール」と「Cライブラリルーチン」の違いは何ですか?
- 15. c-findとc-get DIMSEの違いは何ですか?
- 16. "C#editor"と "C#editor with encoding"の違いは何ですか?
- 17. asp.net RequiredFieldValidator TextとErrorMessageの違いは何ですか?
- 18. Asp.NEtコアとMVC 6の違いは何ですか?
- 19. ASP.NET開発サーバーとIIS Expressの違いは何ですか?
- 20. Asp.Net Web APIとWCFサービスの違いは何ですか?
- 21. ASP.NET DynamicDataとIronSpeedの違いは何ですか?
- 22. ASP.NET - DataSourceIDとDataSourceの違いは何ですか?
- 23. ASP.NET AJAX pageLoad()とJavaScript window.onloadの違いは何ですか?
- 24. ASP.NET MVC Razor - Html.PartialとRenderSectionの違いは何ですか?
- 25. ASP.NET IDとIdentityServerの違いは何ですか?
- 26. C++の "new"と "malloc"と "calloc"の違いは何ですか?
- 27. 違いは何ですか? (C++?
- 28. 「ASP.NET AJAX Server Control」と「ASP.NET Server Control」のプロジェクトタイプの違いは何ですか?
- 29. C++&arrayとarrayの使い方の違いは何ですか?
- 30. C++でのマルチスレッドのjoin()とdetach()の違いは何ですか?
したがって、先頭のアンダースコアは(実際には)htmlに準拠していません。なぜドル記号を使わないのですか? UniqueIdの代わりにサーバー側でClientIdを使用してみませんか?どちらも同じ意味で同じですが、唯一の違いはドル記号とアンダースコアの使用です。 – Martijn
ClientIDの目的は、クライアント側のスクリプトで使用できるコントロールの一意の識別ID(UniqueIDに相当しますが、制御区切り記号としてアンダースコアを使用します)を返すことです。 – JamesM
私はあなたが私のポイントを得ていないと思う:) Javascriptはドル記号が好きではないので、アンダースコアを使用します。それは今明らかです。だから私の次の質問は:なぜサーバー側でアンダースコアを使用しないでください?したがって、なぜサーバー上でClientIDを使用しないのですか?なぜドル記号を使用するアパートがあるのでしょうか?サーバーでアンダースコアを使用できないのはなぜですか? – Martijn