c# - 如何使用 javascript 设置 asp.net 's label ' s 文本并在服务器端获取设置值

标签 c# javascript asp.net

我有两个关于 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>

当我测试结果时,我发现label1的文本在textbox1按键时确实发生了变化,但奇怪的是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 事件并尝试使用相同的脚本..

<asp:TextBox ID="TextBox1" runat="server" onKeyup="okpress();"></asp:TextBox>

对于第二个问题,如果我们在客户端设置标签的innerHtml,那么在服务器端很难访问它..

在第二种情况下,您可以使用这种方法。

声明一个隐藏输入控件..

 <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;
    }

关于c# - 如何使用 javascript 设置 asp.net 's label ' s 文本并在服务器端获取设置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23185439/

相关文章:

c# - 在 ASPX 中定义自定义对象时出现 NullReferenceException

c# - 在 asp.net C# 中重定向按钮单击上的新选项卡(Response.Redirect)

javascript - socket.io 发送给它后留出空间

javascript - 如何防止调整大小的动画 (javascript) 弄乱我的 (css) "float"布局?

javascript - 将多个 .random 类添加到多个 div 而不会重复

c# - 如何将不同的CSS类应用到asp :panels in different ItemTemplate?

c# - 遍历控件时如何设置Dropdownlist特定属性?

c# - 使用 C# HttpWebRequest 将 json 发送到 web 服务

c# - 访问 Windows 窗体控件时,BackgroundWorker 线程失败

c# - 如何在交易中保存?