0

我有一个用户控件,其中包含一个隐藏字段,其中<asp:HiddenField runat="server" ID="hfTotalCharacters" /> 存储来自后面代码的值。还有一些读取该值的 Javascript。当我将脚本放入 ascx 文件时,一切正常,但是当我将脚本移动到 .js 文件中时,我得到一个空对象(第二行):

    var hf = document.getElementById("<%=hfTotalCharacters.ClientID %>");
    alert(hf.value);
    var totalCharacters = hf.value

我必须将脚本放在单独的文件中的原因是因为我想在同一页面中多次使用 userControl,但即使在 UC 的一个实例中移动也不起作用。页面中加载了JS文件,但是找不到元素!

我究竟做错了什么?

4

1 回答 1

0

如果要将js放在另一个文件中,请将clientIdMode设置为静态:

喜欢:

<asp:HiddenField runat="server" ID="hfTotalCharacters" ClientIDMode="static"/> 

var hf = document.getElementById("hfTotalCharacters");
alert(hf.value);
var totalCharacters = hf.value
于 2012-12-11T10:34:06.103 回答