javascript - 如何从代码隐藏中读取JavaScript设置的文本框文本?

标签 javascript c# asp.net

我的页面上有一个 ASP.net 文本框。我正在使用 JavaScript 设置此文本框的文本属性。现在,我想从后端访问此文本值(使用 C#)。但是,每当我尝试访问它时,我都会获取旧值(页面加载期间设置的值),并且无法获取 JavaScript 代码设置的值。 我在这里遗漏了什么吗?

文本框的 ASPX 标记 -

<asp:TextBox ID="txtMessage" runat="server"></asp:TextBox>

用于编辑此文本框的 JavaScript -

var txtMessage = document.getElementById("txtMessage");
txtMessage.Value = "New Value";

访问文本框文本的 C# 代码 -

string strMessage = txtMessage.Text; // This does not return value set by above JS function

最佳答案

您只需更改 JavaScript 中的这一行:

txtMessage.value = "New Value"; // the "v" in ".value" needs to be lowercase
<小时/>

更新:我设置了一个 ASP.NET 页面来确保 OP 的代码确实能够处理这一更改,只是为了确保我没有遗漏任何其他小拼写错误。但是,正如 Igor 在评论中指出的那样,使用控件的 ClientID 属性来考虑 .NET 运行时可能添加到 HTML 元素 ID 的任何前缀是一个很好的做法。

因此 JavaScript 中的两行应更改为以下内容(也确认可以正常工作):

var txtMessage = document.getElementById("<%= txtMessage.ClientID %>");
txtMessage.value = "New Value";

关于javascript - 如何从代码隐藏中读取JavaScript设置的文本框文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26736434/

相关文章:

c# - 如何在单击文本框时清除它?

Javascript事件模拟库

javascript - 用图像替换轮播指示器

javascript - 类型错误 : data is undefined when using jquery. datatables.min.js

asp.net - 添加一个不存在的css类不好吗?

c# - 使用附加子句更新实体

c# - 更改 Recaptcha 的主题?

javascript - 无法自定义 jQuery 验证消息

c# - 使用 MSBuildWorkspace 加载解决方案和项目时出现诊断错误

c# - 当线程被杀死时如何杀死播放循环?