-1

私が知りたかったのは、すべての aspx/html ページに同じ名前のコントロールがあり、それらすべてが共通の js ファイルで参照されている場合、競合が発生しないかどうかだけです。

例:txtCommenttxtDateは の 2 つのコントロールでone.aspxあり、 で参照されone.jsます。同時に、これら 2 つのコントロールは で定義されtwo.aspx、 で参照されone.jsます。このスクリプトが実行された後、サーバーはどこに戻るべきかをどのように知るのでしょうか。

専門家はこれに光を当ててください。ありがとうございました

4

2 に答える 2

3

ASP.NET コードは基本的に実行され、HTML ドキュメントを生成します。この生成された HTML の一部には、HTMLscriptタグを介して外部 JavaScript ファイルへの参照を含めることができます。HTML ページがサーバー上で完全に形成され、クライアント ブラウザーに送信されると、ブラウザー自体がその JavaScript 参照を認識し、それに含まれる JavaScript を実行します。

JavaScript 自体は実際には ASP.NET コントロールを認識していません。むしろ、HTML ドキュメント オブジェクト モデル (DOM) を調べるコードを実行し、HTML 要素を見つけようとします。のようなコードが表示されますvar x = document.getElementById('thing');。これは基本的に、「thing」という ID 属性を持つ HTML オブジェクトを検索し、「x」という名前の変数でそれへの参照を作成するようにスクリプトに指示します。そこから、JavaScript で取得した他のメソッドを使用して、「x」で参照される HTML 要素を操作できます。破棄、複製、HTML コンテンツの変更、さまざまな HTML 属性の変更などを行うことができます。

操作する要素の正しい ID を JS ファイルに入力したため、ページはすべてシームレスに連携します。JS ファイル自体は、それらが実際にはサーバー上で HTML としてレンダリングされる ASP.NET コントロールであるという事実を認識できません。

于 2013-09-11T12:49:17.560 に答える
0

JavaScript は、<script>タグに含まれているページのコンテキストで実行されます。これが実際のページが何であるかを認識したり気にしたりしません(私が推測する場所に基づいてロジックを含めることができます)。

両方のページが参照できるコントロールを持っているという事実は、付随的なものです。1 つのページからコントロールを削除してみて、何が起こるかを観察してください。

また、JavaScript はクライアント側で実行されることを覚えておいてください。そのため、サーバーはそれがどこに戻るかを気にしません。

于 2013-09-11T10:57:48.597 に答える