2

我在代码文件中绑定了一个 Formview 到一个通用列表。现在,在编辑记录时,我希望从事件处理程序方法的FormViewUpdateEventArgs参数中访问 Keys 和 NewValues。ItemUpdating

从到目前为止我在互联网上尝试和搜索的内容中,我了解到更新的值只有在 Formview 设置为标记页面上的数据源控件时才可用,否则它们将为空。这是真的?

其次,此时我正在将对象转换为 formview,并通过使用方法来查找和检索控件中存在的值来sender单独填充每个对象属性。FindControl这是完成这项任务的最佳方式吗?

例如,这就是我正在做的 atm:

FormView currentForm = (FormView)sender;
ListObject.ID = new Guid(((HiddenField)(currentForm.FindControl("hdnID"))).Value);
ListObject.Name = ((TextBox)(currentForm.FindControl("txtName"))).Text;

谢谢小伙伴们的帮助!

4

1 回答 1

0

根据您的操作,我建议您不要使用 FormView。FormView 在处理数据源时非常出色,但是在以您的方式处理手动绑定数据时失败了,您基本上是覆盖和手动构建表单,并且仅创建 HTML 表单和 ASP.Net 服务器端控件会更简单。

FindControl是一项昂贵的操作,并且可能变得笨拙。在数据循环到服务器端控件期间简单地分配一个值会更快。

或者,按照建议,使用 aObjectDataSource并将您的数据绑定到 FormView 。

于 2011-01-20T15:33:09.023 回答