gpt4 book ai didi

javascript - 从外部 JS 文件引用 ASPX 控件

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:53:09 25 4
gpt4 key购买 nike

我有一个问题。我有一个 aspx 控件(例如文本框)。我使用 document.getElementById('<%=textbox.ClientID%>').value 引用它。当我将代码放在同一个 aspx 文件中时,它就可以工作了。但是一旦从外部文件(例如 MyJSFunctions.js)引用它,我就不能。我收到一条错误消息“该对象不存在或为空”

我已经包含了 js 文件的名称,例如

我这样做是因为我喜欢将所有 js 函数放在一个单独的文件中,这样做还可以减少加载开销。

为什么会这样?我可以使用 jquery 完成相同的任务吗?

最佳答案

您需要将您的 Javascript 参数化以接受所需的参数,然后将内联 ASP.NET 脚本作为其值传递给服务器端页面或控件。这将允许引擎适本地呈现内联代码。

发生这种情况是因为服务器在推送之前呈现您的页面(不是浏览器呈现 HTML,而是 ASP.NET 引擎进行转换以将您的 .NETified 网络标记转换为标准网络标记)它们向下传递给客户端 - 这只会发生在“已注册”类型上,并且不会(也不应该)包括 Javascript 文件(尽管您可以在技术上注册要处理的项目,除非您有一个定制的模块来处理 Javascript 中的内联脚本的编译,那么它无论如何都会出错。)

jQuery 本质上是一种 Javascript 框架,可以这么说,您与它处于同一条船上。

例如,考虑以下...

你的脚本文件:

function doSomethingJavascripty(withThisClientID) {
//do something with...
document.getElementById(withThisClientID).value;
}

您的 ASPX 页面:

<script type="text/javascript" src="/path/to/script.js"><script> 

<script type="text/javascript">
//call your function when appropriate...
doSomethingJavascripty('<%=textbox.ClientID%>');
</script>

关于javascript - 从外部 JS 文件引用 ASPX 控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7906378/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com