Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用JavaScript更改asp标签的值?_Javascript_C#_Asp.net - Fatal编程技术网

如何使用JavaScript更改asp标签的值?

如何使用JavaScript更改asp标签的值?,javascript,c#,asp.net,Javascript,C#,Asp.net,我正在尝试将错误标签添加到我拥有的面板顶部。我在C#on page load中创建了一个按钮,它调用了一个JavaScript函数,我希望在单击该函数时在面板上显示一条错误消息 C#: JS: ASPX: 当此代码运行时,它总是抛出以下错误: 错误:无法设置未定义或空引用的属性“值” 我还尝试使用: document.getElementById(“”).value=“测试” 但这也带来了错误 在JS中单击此按钮时,如何更改此标签的值?如果您可以使用该属性,请尝试将ClientMode=“S

我正在尝试将错误标签添加到我拥有的面板顶部。我在C#on page load中创建了一个按钮,它调用了一个JavaScript函数,我希望在单击该函数时在面板上显示一条错误消息

C#:

JS:

ASPX:


当此代码运行时,它总是抛出以下错误:

错误:无法设置未定义或空引用的属性“值”

我还尝试使用:

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,请在服务页面的浏览器中查看页面源代码。看起来代码中可能还有另一个js
OnProcessRequest
,因为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");