Javascript 当我将代码放入单独的文件中时,UserControl中的HiddenField返回null
我有一个usercontrol,它包含一个hiddenfieldJavascript 当我将代码放入单独的文件中时,UserControl中的HiddenField返回null,javascript,asp.net,user-controls,Javascript,Asp.net,User Controls,我有一个usercontrol,它包含一个hiddenfield which存储来自代码隐藏的值。以及一些读取该值的Javascript。当我将脚本放在ascx文件中时,一切正常,但当我将脚本移动到.js文件中时,会得到一个空对象(第二行): var hf=document.getElementById(“”); 警报(高频值); var totalCharacters=hf.value 我必须将脚本放在一个单独的文件中的原因是,我想在同一个页面中多次使用userControl,但即使在UC的
which存储来自代码隐藏的值。以及一些读取该值的Javascript。当我将脚本放在ascx文件中时,一切正常,但当我将脚本移动到.js文件中时,会得到一个空对象(第二行):
var hf=document.getElementById(“”);
警报(高频值);
var totalCharacters=hf.value
我必须将脚本放在一个单独的文件中的原因是,我想在同一个页面中多次使用userControl,但即使在UC的一个实例中,移动也不起作用。
页面中加载了JS文件,但找不到元素
我做错了什么?如果要将js放在另一个文件上,请将ClientMode设置为static: 比如:
var hf=document.getElementById(“hfTotalCharacters”);
警报(高频值);
var totalCharacters=hf.value
好的,谢谢您的回复,但正如我说过的,我想多次使用usercontrol,在这种情况下不允许使用静态。在函数中调用包装代码并从脚本中调用如何上述js行已经在initialize()函数中,并且是js的第一个命令
var hf = document.getElementById("<%=hfTotalCharacters.ClientID %>");
alert(hf.value);
var totalCharacters = hf.value
<asp:HiddenField runat="server" ID="hfTotalCharacters" ClientIDMode="static"/>
var hf = document.getElementById("hfTotalCharacters");
alert(hf.value);
var totalCharacters = hf.value