如何使用JavaScript更改asp标签的值?
我正在尝试将错误标签添加到我拥有的面板顶部。我在C#on page load中创建了一个按钮,它调用了一个JavaScript函数,我希望在单击该函数时在面板上显示一条错误消息 C#: JS: ASPX:如何使用JavaScript更改asp标签的值?,javascript,c#,asp.net,Javascript,C#,Asp.net,我正在尝试将错误标签添加到我拥有的面板顶部。我在C#on page load中创建了一个按钮,它调用了一个JavaScript函数,我希望在单击该函数时在面板上显示一条错误消息 C#: JS: ASPX: 当此代码运行时,它总是抛出以下错误: 错误:无法设置未定义或空引用的属性“值” 我还尝试使用: document.getElementById(“”).value=“测试” 但这也带来了错误 在JS中单击此按钮时,如何更改此标签的值?如果您可以使用该属性,请尝试将ClientMode=“S
当此代码运行时,它总是抛出以下错误:
错误:无法设置未定义或空引用的属性“值”
我还尝试使用:
document.getElementById(“”).value=“测试”
但这也带来了错误
在JS中单击此按钮时,如何更改此标签的值?如果您可以使用该属性,请尝试将ClientMode=“Static”添加到标签中。也可以添加ClientID=“errLabel”作为替代。现在的情况是,asp.net将自动为您的字段在客户端生成一个用于关闭的id,因此它将与您的id“errLabel”不匹配
好的,要更改JavaScript中的asp.net标签,可以执行以下操作:
<asp:Label ID="Label1" runat="server" Text="" ClientIDMode="Static"></asp:Label>
(我们假设您将标签设置为客户端id模式>
因此,如果页面上有标签,您可以执行以下操作:
<asp:Label ID="Label1" runat="server" Text="" ClientIDMode="Static"></asp:Label>
现在,让我们对文本框执行相同的操作
我们的asp.net文本框:
<asp:TextBox ID="TextBox1" runat="server" ClientIDMode="Static" ></asp:TextBox>
那么,对于asp.net标签,您可以使用innerText或innerHTML。
(或使用jQuery的文本(“此处的文本”)
对于jQuery,您可以使用不带()我假设,OnProcessRequest$
中的$in是问题中的一个输入错误,只是因为您的C版本没有$。接下来检查呈现的HTML标签上的ID值,也检查由'
呈现的内容,它们匹配吗?@JonP该$是由另一个开发人员添加的。我不确定它的确切用途,但如果我删除它,则会删除该功能从未调用。如何检查呈现的HTML?我使用的是VS 2019社区。要检查呈现的HTML,请在服务页面的浏览器中查看页面源代码。看起来代码中可能还有另一个jsOnProcessRequest
,因为C中引用的有4个参数不是2 OK,这并不能解释未定义的问题错误,但是label
没有您想要的document.getElementById('errLabel').innerHTML=“Test”所需的属性值;
我尝试了你的两个建议,但是错误仍然存在。谢谢!使用你建议的innerText/innerHTML方法仍然会导致相同的错误,但是你提供的JQuery有效。
<asp:Label runat="server" ID="errLabel" ClientIDMode="Static"></asp:Label>
<asp:Label runat="server" ID="errLabel" ClientID="errLabel"></asp:Label>
<asp:Label ID="Label1" runat="server" Text="" ClientIDMode="Static"></asp:Label>
var lbl = document.getElementById('<%=Label1.ClientID%>');
lbl.innerText = "Js lable text changed";
lbl.innerHTML = "<h2>this is some big text by js</h2>"
var lbl = $('#Label1');
lbl1.text("js jquery text change");
<asp:TextBox ID="TextBox1" runat="server" ClientIDMode="Static" ></asp:TextBox>
var txt = document.getElementById('<%=TextBox1.ClientID%>');
txt.value = "This is js text for text box";
var txt = $('#TextBox1');
txt.val("js jquery text for the text box");