【问题标题】:How to get content from dynamically added controls如何从动态添加的控件中获取内容
【发布时间】:2012-03-19 15:14:08
【问题描述】:

这是我的网页的样子:

PosisionDataView 是一个网络用户控件,其中包含产品名称和注释的文本框以及一些额外的控件。

QuantityView 也是一个网络用户控件,其中包含数量和价格的文本框以及一些额外的控件。

用户可以动态添加 QuantityView 和 PositionView 到页面。这是这样发生的:

  • 用户单击 ButtonAddQuantityView 或 ButtonAddPositionView
  • 调用jquery的ajax方法,调用我的web服务上的一个方法,返回html格式的QuantityView或者PositionView
  • 接收到的控件被附加到 QuantityPlaceholder 或 PositionsPlaceholder

这一切都很顺利,但是在回发后解析这种混乱的最佳方法是什么?例如 QuantityView 包含文本框 txtQuantity 并且在 Request.Form 集合中我得到这些数量值:

  • ctl00$ContentPlaceHolder1$PositionView$ctl00$QuantityView$ctl00$txt数量:1
  • ctl00$txt数量:2,4
  • ctl00$QuantityView$ctl00$txt数量:3

实际上位置 1 包含数量 1 和 2,位置 2 包含数量 3 和 4,但是 Request.Form 是一团糟......

【问题讨论】:

标签: c# jquery asp.net


【解决方案1】:

以为我可以发布 cmets!

无论如何,您确定表单变量名称不重复吗?尤其是 ctl00$txtQuantity。

如果 txtQuantity 名称可以像 txtPositionViewQuantity 或 txtQuantityViewQuantity(对于每个子部分)一样稍微独特,您可以通过 jquery 访问这些控件的数据并创建例如 JSON 对象。这将使您的服务器往返轻松。

【讨论】:

  • 谢谢,按你的方式做:使用 jquery 循环控制控件,构建与 .NET 中签名相同的对象,将其发送到 Web 方法并让 ASP.NET 处理 json 序列化...效果很好:)
猜你喜欢
  • 2014-12-09
  • 1970-01-01
  • 2014-07-15
  • 1970-01-01
  • 2011-03-14
  • 2013-12-15
  • 2011-04-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多