-1

我想知道的是,如果所有的 aspx/html 页面都有同名的控件,并且所有这些控件都在一个通用的 js 文件中引用,那不会导致任何冲突吗?

例如:txtCommentandtxtDate是两个控件one.aspx,它们在one.js. 同时,这两个控件在 中定义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');的代码,它基本上告诉脚本查找 ID 属性为“thing”的 HTML 对象,并在名为“x”的变量中创建对它的引用。从那里,您可以使用您在 JavaScript 中获得的其他方法来操作由“x”引用的 HTML 元素。您可以销毁它、克隆它、更改其 HTML 内容、更改其各种 HTML 属性等等。

您的页面可以无缝地协同工作,因为您已经在 J​​S 文件中输入了要操作的元素的正确 ID。JS 文件本身无法真正意识到它们实际上是在服务器上呈现为 HTML 的 ASP.NET 控件。

于 2013-09-11T12:49:17.560 回答
0

JavaScript 在它包含在<script>标签中的页面的上下文中执行。它不知道也不关心这是什么实际页面(我猜你可以包括基于位置的逻辑)。

两个页面都有可以引用的控件这一事实是偶然的。尝试从一页中删除控件并观察会发生什么。

另外,请记住 JavaScript 在客户端执行,因此服务器不关心它返回的位置。

于 2013-09-11T10:57:48.597 回答