ASP.net隐藏字段在Javascript函数中为null

时间:2016-05-09 14:19:49

标签: javascript asp.net

有关于引用

的问题
Background

来自JS函数。 由于

引发了空引用错误,因此该函数被命中
 <asp:HiddenField ID="editcheck" runat="server"/>

在函数中行。

任何想法?

由于

PS:  这是抛出异常的实际行。

var e = document.getElementById('<%=editcheck.ClientID%>');

无法在空对象上检查错误状态值,或者关闭某些内容。所以这就是我要问JS函数看到元素的原因。

1 个答案:

答案 0 :(得分:1)

我猜你在将HiddenField呈现给浏览器之前调用脚本。

你能确保在HiddenField之后调用脚本吗?

<asp:HiddenField ID="editcheck" runat="server"/>

document.getElementById('<%=editcheck.ClientID%>');

如果必须使用DOM操作,可以使用jQuery。以下脚本与将HiddenField放在页面中的位置无关。

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>    
<script type="text/javascript">
    $(function () {
        if ($("#<%= editcheck.ClientID %>").val() === "true") {
            return confirm("yadayad");
        }
    });
</script>        
<asp:HiddenField ID="editcheck" runat="server" />