【问题标题】:Unable to set property 'innerText' of undefined or null reference无法设置未定义或空引用的属性“innerText”
【发布时间】:2014-07-23 00:35:40
【问题描述】:

我已经写了这段代码:

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %>

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
<script language="javascript" type="text/javascript">
// <![CDATA[

    function btnClient_onclick() {
        document.getElementById("lblClient").innerText = "Changed";
        document.getElementById("lblServer").innerText = "Server";

    }

// ]]>
</script>
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<h2>
    Welcome to ASP.NET!
</h2>
<p>
    <asp:Button ID="btnServer" runat="server" onclick="btnServer_Click" 
        Text="Server" />
    <asp:Label ID="lblServer" runat="server" Text="Server"></asp:Label>
</p>
<p>
    <input id="btnClient" type="button" value="Client" onclick="return btnClient_onclick()" />
    <asp:Label ID="lblClient" runat="server" Text="Client"></asp:Label>
</p>
</asp:Content>

当我运行它时,得到了这个错误:无法设置未定义或空引用的属性'innerText'

【问题讨论】:

  • 这意味着getElementById 没有找到具有指定 ID 的元素。
  • 我不知道 ASP.Net,但我敢打赌这是因为你有 runat="server",所以标签在客户端上不可用。

标签: javascript asp.net properties innertext


【解决方案1】:

设置

ClientIDMode 为静态

在两个标签上看看是否有效

【讨论】:

    【解决方案2】:

    试试这个

    document.getElementById("lblClient").setAttribute('text', "Changed");
    

    【讨论】:

      猜你喜欢
      • 2015-03-30
      • 1970-01-01
      • 2016-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-24
      • 1970-01-01
      • 2017-02-04
      相关资源
      最近更新 更多