当我在GridView.ROWDATABOUND
事件中动态创建按钮时,我在 asp.net 4.5 中遇到错误。
按钮代码:
Dim btn1 As New Button()
btn1.ID = "btn1"
btn1.Width = "50"
btn1.Text = "Edit"
btn1.CssClass = "AdminPageBtn"
btn1.CommandName = "Edit"
btn1.CommandArgument = "Edit"
btn1.Enabled = True
e.Row.Cells(e.Row.Cells.Count - 1).Controls.Add(btn1)
我也在使用 AJAX 4.0,带有脚本管理器和更新面板。
该按钮执行以下方法
Protected Sub gvwRoutes_RowEditing(ByVal sender As Object,
ByVal e As System.Web.UI.WebControls.GridViewEditEventArgs)
Handles gvwRoutes.RowEditing
End Sub
执行的时候报错:
Failed to load viewstate. The control tree into which viewstate is being loaded must match the control tree that was used to save viewstate during the previous request. For example, when adding controls dynamically, the controls added during a post-back must match the type and position of the controls added during the initial request.
需要一个解决方案..!