javascript 从 asp.net 起无法更改简单标签文本

javascript is not working from asp.net to change simple label text

我现在已经看完 4 个小时的帖子了。我无法让这个 js 代码工作。这是最新的迭代,我尝试了很多组合。

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebFormRedisTest.WebForm1" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>

<script type="text/javascript">

    function updateText(strData) {
        debugger;
        document.getElementById("<%=lbl.ClientID%>").innerHTML(strData);
    }

</script> 
</head>
<body>
    <form id="form1" runat="server">
     <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Test_OnClientClick"/>

        <div>
        </div>
        <asp:Label ID="lbl" runat="server" Text="Label" ClientIDMode="Static"></asp:Label>
    </form>
</body>
</html>

public void Test_OnClientClick(object sender, EventArgs e)
        {
            Console.WriteLine("test");
            ScriptManager.RegisterStartupScript(this, this.GetType(), "updateText", "updateText('test');", true);
        }

我不认为 innerHTML() 是一个函数。我想你必须这样写:

document.getElementById("<%=lbl.ClientID%>").innerHTML = strData;

更新:

我开始了一个快速的网络表单项目,这就是我的脚本标签部分的样子:

<script type="text/javascript">

    function updateText(strData) {
        debugger;
        document.getElementById("lbl").innerHTML = strData;
    }

</script>

后端和你的一样。

public void Test_OnClientClick(object sender, EventArgs e)
{
    ScriptManager.RegisterStartupScript(this, this.GetType(), "updateText", "updateText('test');", true);
}