我们已经为 ASP.Net 创建了一个用户控件。在任何时候,用户的个人资料页面都可能包含一个到无数个这些控件。 Control.ascx 文件包含相当多的 JavaScript。当该控件由 .Net 呈现为 HTML 时,您会注意到它会打印每个控件的 javascript。
这是预料之中的。我想减少服务器输出的 HTML 量以增加页面加载时间。通常,您可以将 javascript 移至外部文件,然后只需要一个额外的 HTTP 请求即可为所有控件提供服务。
但是 javascript 中的实例怎么样,我们有类似
document.getElementById('<%= txtTextBox.ClientID %>');的内容? javascript 如何知道哪个用户控件可以使用?有没有人做过类似的事情,或者解决方案就在我面前?
最佳答案
编写接受 ID 的函数,将它们放入 mysite.js 中并引用该文件,如下所示:
<script type="text/javascript" src="/mysite.js"></script>
然后,当您在控件中进行调用时,请执行以下操作:
<div onClick="DoMyFunctionThatIWant('<%= txtTextBox.ClientID %>')">...</div>
那么你的js函数是这样的:
function DoMyFunctionThatIWant(domId)
{
var obj = document.getElementById(domId);
}
关于asp.net - 一页上有多个 ASP.Net 控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2925712/