如何设置asp.net';s标签';s文本,并在服务器端获取setted值
本文关键字:服务器端 获取 setted 文本 标签 net asp 何设置 设置 | 更新日期: 2023-09-27 17:59:10
我有两个关于javascript和asp.net的问题,我想要的结果是:当按下文本框键时,做出相同的标签更改,以下是我要做的:
在asp.net页面中:
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" runat="server" onkeypress="okpress();"></asp:TextBox>
<br />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<br />
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="test1" />
</div>
</form>
这是我的脚本:
<script type="text/javascript">
function okpress() {
//alert('Your keypress on TextBox1.');
var v1 = document.getElementById("Label1");
v1.innerHTML = document.getElementById("TextBox1").value;
}
</script>
当我测试结果时,我发现当textbox1按键时,label1的文本确实发生了变化,但奇怪的是,label1文本总是缺少一个与textbox1对应的字符,也就是说,如果我在textbox1中键入"abcd",label1只显示"ab"。
另一个问题是关于按钮,当我在.cs文件中写下这段代码时:
protected void test1(object sender, EventArgs e)
{
string s1 = Label1.Text;
return;
}
并在"return"处添加一个断点,我发现无论我在textbox1中键入什么,变量s1总是"Label1"
我想这两个问题可能很容易经历,但我就是解决不了,谢谢你的帮助。
您可以将Keypress
事件更改为Keyup
事件,并尝试使用相同的Script。。
<asp:TextBox ID="TextBox1" runat="server" onKeyup="okpress();"></asp:TextBox>
对于第二个问题,如果我们在客户端设置标签的innerHtml
,则很难在服务器端访问它。。
在第二种情况下,您可以使用这种方法。
声明Hidden input Control
。。
<input type="Hidden" id="Hidden1" value="" clientidnode="Static" runat="server">
之后,您可以将标签的innerHtml
设置为此控件。
document.getElementid('Hidden1').value=v1.innerHTML;
之后,您可以访问服务器端的隐藏控件,如下所示。。
protected void test1(object sender, EventArgs e)
{
string s1 = Hidden1.value;
return;
}