ObjectDataSource和FormView:如何从业务层添加UI版本行为

时间:2010-11-03 08:05:37

标签: asp.net objectdatasource business-logic formview

我正在使用ObjectDataSource和FormView。

在FormView中,我有一组控件。当FormView在版本中时,我特别有一个ComboBox和一个TextBox,它们的关系如下: 当ComboBox采用一些特殊值时,TextBox必须是只读的。

目前我得到的行为如下:ComboBox在其所选项目被更改时触发回发,并且在我的页面的“OnPreRender”中,我得到ComboBox的值并相应地更新TextBox的Readonly属性。

我不喜欢这种方法的是我不使用ObjectDataSource使用的对象模型。问题很简单,当FormView处于编辑状态时,似乎没有办法获取正在编辑的对象的实例。 'DataItem'为空,我没有找到任何方法从控件中的值自动构建一个新对象,以将其传递给我的业务层。当然,我可以通过明确控制控件中的所有值来完成整个工作,但这并不好。

有没有人见过这样的场景?关于如何获得干净设计的任何想法?

1 个答案:

答案 0 :(得分:0)

如何使用DataItemIndex或DataKey?我可能会使用DataKey然后使用业务方法来查找密钥的对象。