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