65.9K
CodeProject 正在变化。 阅读更多。
Home

带有单个 ModalPopupExtender/Panel 用于行编辑的 GridView

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.93/5 (44投票s)

2007年2月22日

CPOL

3分钟阅读

viewsIcon

308094

downloadIcon

11576

带有单个 ModalPopupExtender/Panel 用于行编辑的 GridView。

一个 gridview

Screenshot - persongrid.jpg

模态框

Screenshot - personGridEditWindow.jpg

引言

我不喜欢大多数 ASP.NET 栅格提供的内联行编辑。因此,最近我开始尝试实现一个弹出编辑窗口来编辑栅格行中包含的值。为了使其更有趣,我想使用 Asynchronous JavaScript 回调来实现这一点。由于我已经在用 Ajax.netAJAX Toolkit,我开始尝试弄清楚使用哪个控件,以及它们提供的任何东西是否适合我。

要求

  1. 我想能够弹出一个编辑窗口进行编辑,该窗口禁用背景窗口(或呈现被禁用的外观)。
  2. 我想在服务器端控制保存和编辑,因为我使用通过 ObjectDataSource 控件绑定到栅格的自定义业务对象。
  3. 它需要是异步的。我想要功能,但也想要速度,并且易于客户使用。

历史

ModalPopup:我首先查看了模态弹出扩展器,因为它似乎正是我所需要的。但是,我对如何使用它有一些问题。

  1. 需要 TargetControlID 属性。因此,如果我想按照它的设计方式使用它,那么我必须将一个 ModalPopup 嵌入到栅格的 ItemTemplate 列中,并带有一个关联的按钮。这对我来说一点也不吸引人。PopupControlID 也会出现同样的问题。
  2. 将值放入弹出面板中包含的字段中。同样,我可以将面板嵌入到 ItemTemplate 列中,并使用标准绑定绑定这些字段。这**真的**不吸引我。有人想看 HTML 膨胀吗?

PopupControl:我很快放弃了它,因为它在我想做的事情上比模态弹出窗口有更多的问题。

Raj Kaimal - 使用 AJAX 和 UpdatePanelPopupExtender 的主从细节:我不得不说这个看起来很棒,并且运行得很好。我遇到的唯一问题是,在进行自定义数据绑定时,它有时会出错。另一个问题是支持。我讨厌不得不等待 Raj 更新他的代码以用于下一个版本的 AJAX。考虑到他们到目前为止在从 beta 版到 1.0 版更改 Ajax.net 设计方面的跟踪记录,我对这个前景并不太热衷。尽管如此,这是一个很棒的控件。很想看到类似的东西嵌入到 Ajax.net 中,这样我找到的解决方法就会过时。

沮丧之余,我正要放弃,这时我读了 Dynamically-Created-ModalPopupExtender。这让我重新开始使用 ModalPopupExtender。所有示例代码都包含在 zip 文件中,以及一个显示嵌入在 ASP.NET AJAX 选项卡内的多个栅格的示例。您将需要 VS.NET 2005 和 ASP.NET AJAX 框架的 1.0 版本。这些图片由 Michael Hoskins 提供。

变更

  • 2007 年 2 月 26 日 - 增加了使用 XML 作为数据源的选项。将默认为 XML。还添加了一个邮件栅格。
© . All rights reserved.