我的页面上有一个 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/