ASP.Net中动态条目表行的干净解决方案

时间:2012-02-14 16:45:10

标签: asp.net asp.net-ajax updatepanel

我正在使用ASP.Net中的一个项目,该项目使用UpdatePanel来处理所有AJAX请求。我对使用jQuery AJAX方法(和策略)更熟悉,所以我很难找到一个干净的解决方案来满足我需要的功能。

基本上我需要一个表,允许我使用AJAX动态添加任意数量的行。这些行将包含文本框,其值必须由ASP.Net保留,直到我准备提交表单。为了使问题进一步复杂化,数据库中可能已存在记录,这些记录也应显示预先填充的值,并且还必须保留对这些字段的任何更改。

我最初是通过使用GridView并将其数据源设置为数据库记录列表但不幸的是我相信这意味着我无法向GridView添加新行。

非常感谢任何帮助。请记住,解决方案必须使用ASP.Net控件。

1 个答案:

答案 0 :(得分:0)

我相信我找到了一个看似非常简单的解决方案。

当页面加载时,我从数据库中收集任何相关记录,并执行与投影选择相结合的查询表达式以创建匿名类型数组。单击添加新行按钮而不是尝试直接添加行或从数据库中检索可能的旧数据时,我会对数据网格项本身执行查询表达式并合并一个新的空白项。从那里开始,只需设置数据网格数据源,触发数据绑定并更新更新面板即可。

现在唯一的问题是如何识别行,特别是没有数据库键的新行。我可以设计一些聪明的方法来生成行ID但我觉得ASP.Net已经这样做了,我需要做的就是将这些id与匿名类型联系起来。