0

在这里寻求帮助,因为这让我很难过。长话短说,我有一个从函数构建的动态表,显示在 FormView 内的占位符中。

我在 FormView 的 EditItemTemplate 中有一个“保存”按钮,CommandName="Save" - 我有一个 Select Case(在这里使用 VB)并且(几乎)一切都按预期工作。

但是,当我将 PlaceHolder 拉到 Code Behind 中时,我在 PlaceHolder 中没有显示任何控件。

这是一个简短的概述:

FormView ItemTemplate 有一个 View_PlaceHolder 可以正确显示动态生成的表中的数据。FormView EditItemTemplate 有一个 Edit_PlaceHolder,它将动态生成的表中的相同数据加载到 TextBox 中(工作正常,相同的数据按预期显示)

当我点击保存时,我当前的代码是:

Dim Edit_PlaceHolder as PlaceHolder = FormView1.FindControl("Edit_FV_PlaceHolder")
Dim EditTable as Table = Edit_PlaceHolder.FindControl("Edit_Plan_Holder")

Edit_PlaceHolder 不是什么都没有,但在 Controls.Count 中有 0 个控件

哦,还有一点信息 - 我的 Table 已构建并添加到 FormView.DataBound 事件中的 PlaceHolder。

我究竟做错了什么?

4

2 回答 2

0

好的,这就是发生的事情:

1)正如NoAlias所说,需要保留ID。如果我处于“查看”或“编辑”模式,我使用 Page_Load 来设置 ViewState 变量。

2)我使用了一个单独的 BuildViewTable() 方法和 BuildEditTable() 方法,并且在那些调用我的单独类并构造表的内部。

3)现在一切正常:)谢谢,NoAlias!

于 2013-07-23T03:48:09.323 回答
0

您还必须在 PostBacks 上重新填充和添加动态添加的表,而不仅仅是在初始加载时。查看此问题的答案以获取更多详细信息。

于 2013-06-30T03:50:48.023 回答