javascript - 如何在asp.net中获取动态创建的文本框Web控件的值

标签 javascript c# asp.net

我的 aspx 页面包含产品列表以及动态生成的文本框和每个产品的一个订购按钮。

文本框和按钮是在运行时生成的,文本框的 ID 为 txt110234、txt110235...等,按钮的 ID 为 btn110234、btn110235...等。

每次用户都必须在文本框中输入数量,然后按与任何产品关联的订单按钮才能下订单。

一切都工作正常,但现在我想使用ajax来完成它,所以我需要获取用户在文本框中输入的值。我想做这样的事情-

   var quan = document.getElementById('<%= txt' + id + '.ClientID%>').value;

但它给了我以下错误。

Compiler Error Message: CS1012: Too many characters in character literal Source Error:

我如何获得文本框的值?任何建议将不胜感激..

最佳答案

你得到的错误是因为你不能在“<%= .. %>” block 中涉及javascript。此外,这看起来也不可能,因为在渲染页面之前,服务器会计算“<%= .. %>”表达式,但您的“id”是客户端变量。

您可以在服务器端设置脚本,如下所示:

客户端代码:

function foo(ctlID)
{
   var quan = document.getElementById(ctlID).value;
}

服务器端代码:

TextBox txt = new TextBox();
txt.ID = "SomeID";
Form.Controls.Add(txt);
Button btn = new Button();
btn.ID = "someID";
btn.OnClientClick = "foo('" + txt.ClientID + "')";

关于javascript - 如何在asp.net中获取动态创建的文本框Web控件的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12154374/

相关文章:

mysql - 更改 asp.net 成员(member)中的用户名

javascript - 如何根据其内容的高度调整 iframe 的高度?

javascript - 在 TypeScript 中初始化 Azure 应用程序客户端

c# - 无法设置 ADOMDConnection 类的超时属性

c# - Any()的多重枚举和使用

ASP.Net session 在回发后偶尔会丢失

c# - 如果发生异常,则退出函数/方法

javascript - 脚本在我本地调用函数之前加载它,但在公开之后加载它

javascript - 如何使用文件 API 和 Dropzone.js 检测文件的尺寸

C# 查找空单元格并使用 ClosedXml 将其写入其中