ASP.NET和C#中的双向DataBinding

时间:2011-08-10 17:22:47

标签: c# asp.net data-binding

我正在编写一个页面,该页面使用声明性数据绑定将Web表单中的Control值(在转发器内)绑定到源DataTable的值。绑定工作很好,转发器的模板化控件从数据表中填充。然而,我的理解是使用< #Bind(“SourceColumnName”)#> sytnax(与Eval()语法相反)我应该能够获得用户更新其值以将这些值绑定回源DataTable 的控件。 是否存在一组< #Bind(“SourceColumnName”)#> -type语句将更新其源数据的情况,反之亦然?澄清:我传递的是DataTable对象在代码隐藏中转发器的DataSource字段,我没有使用DataSource控件(它将通过DataSourceID属性附加)。提前谢谢。

2 个答案:

答案 0 :(得分:1)

“通常,Bind方法只能在EditItemTemplate和InsertItemTemplate中使用。它不应该在ItemTemplate,AlternatingItemTemplate或SelectedItemTemplate中使用(或实际上是必需的)”(c){{3} }

这意味着您的容器必须具有编辑功能才能强制执行其模板以更新基础数据源。 Afaik DataRepeater无法做到这一点,请尝试使用GridView,DetailView或FormView。

答案 1 :(得分:0)

转发器没有Bidirectional databinding支持。您只能使用DataItem创建项目。

您必须循环转发器项并从控件中提取值以进行更新。