asp.net - 一页上有多个 ASP.Net 控件

标签 asp.net javascript user-controls

我们已经为 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/

相关文章:

c# - 对于多个Azure表存储帐户实现,如何实现每秒超过20,000+请求的插入和查询?

javascript - Javascript 可以禁用 UserControl 中的 ASP.Net 控件吗?

javascript - ajax调用后替换类名

c# - 将 UserControl 绑定(bind)到它自己的 dependencyProperty 不起作用

c# - Prism 应用中的异常处理策略

c# - 在 C# 中将 JSON 变量转换为小写

c# - 有没有办法在 ASP 中为 Cellspacing 使用非 Int32 值?

jquery - 如何在同一网页上多次使用Web用户控件?

asp.net - 为什么这个错误经常发生 "asp.net, sql server"?

php - 在 JavaScript 中来自 PHP 的 urlencode()?