2

嗨,我在这里遇到了一个非常奇怪的问题。我有一个 ImageButton 和 Gridview,它们都是在运行时创建的。图像按钮是 web 表单上的一个单独控件,无论如何都没有链接到 Gridview。我想要实现的是当用户在 GridView 中完成对一行的编辑并单击更新行按钮时,我对输入的输入执行一组计算。如果在输入的数据中发现错误,然后我会显示 ImageButton,单击该按钮会显示错误消息。我用来使图像按钮可见或隐藏的功能

picCross.Style.Value = "显示:无;"

picCross.Style.Value = "显示:块;"

在 Page.PreRender 函数上调用。我发现我能够在 GridView 未触发的回发期间更改 ImageButton(更改按钮的工具提示,设置其样式的值),例如当用户单击 Web 表单上其他位置的按钮时. 但是,如果我尝试在 GridView 的回发事件期间对 Imagebutton 进行更改,例如当用户单击编辑行或更新行按钮/链接时。未保存更改。更奇怪的是我对标签没有这样的问题。无论是否在 Gridview 控件触发的回发期间进行了更改,我都可以更改标签的文本。

我尝试将 ImageButton 的 EnableViewState 设置为 true 和 false,但两者都没有区别。我在面板上尝试了相同的方法并且发生了同样的事情,在由 gridview 引起的回发期间我无法更改其属性。我的 GridView 有 EnableViewState = True

PS我也在运行时绑定了GridView。只有我的 GridView 的 RowUpdating 事件会触发。RowUpdated 事件不会触发。我希望尝试更改 RowUpdated 上的 ImageButton,并不是说我认为它会产生很大的不同。

4

1 回答 1

0

您应该在 PreInit 事件中创建动态控件(Gridview 和 ImageButtons)。如果您有母版页,则初始化事件。

于 2012-07-25T20:57:50.943 回答