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

Posted

技术标签:

【中文标题】javascript 无法从 asp.net 更改简单的标签文本【英文标题】:javascript is not working from asp.net to change simple label text 【发布时间】:2020-06-13 00:27:27 【问题描述】:

我现在已经浏览了 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);
        

【问题讨论】:

打开浏览器的开发工具并检查控制台中的错误消息。还要检查生成的 JavaScript 是否是你所期望的 你能分享更多关于问题的细节吗,你想做什么? 对不起,我认为很明显我只是在这个简化的版本中尝试通过 js 更改标签的文本。我知道这很简单,因为我以前做过,但语法不正确,只是无法更改标签文本。 【参考方案1】:

我不认为 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);

【讨论】:

如果您想专门更改标签的文本,您可能需要使用“document.getElementById().innerText =”。我刚刚使用了 innerHTML 和 innerText,它们都对我有用。

以上是关于javascript 无法从 asp.net 更改简单的标签文本的主要内容,如果未能解决你的问题,请参考以下文章

无法从 asp.net MVC 中的视图运行 JavaScript

将数据从 javascript 传递到 asp.net core 2 razor 页面方法

在 Javascript 中以自然方式添加后,我无法在 asp.net 中获取 Listbox 的值

JavaScript、asp.net 和 Sql Server

从 javascript 调用 webmethod 时出现 ASP.NET 500 内部服务器错误

javascript的“更改”函数在asp.net mvc中不起作用