Я получаю сообщение об ошибке в asp.net 4.5, когда я динамически создаю кнопку в событии GridView.ROWDATABOUND
.ASP Gridview Не удалось загрузить viewstate.
код кнопки:
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.
нужно решение ..!
Попробуйте поместить эту кнопку в разметку. – Fals
, который разрушит структуру. это работало в предыдущей версии, где не было ни аякса, ни панели обновления. Теперь он становится мусором, и я понятия не имею, зачем и что делать – gayan1991
Вы только что сказали, что это anwnsear. В Unfortanally Update Panel есть много проблем, один из которых - управление View State. Каждый элемент управления должен быть создан в Page_OnInit, чтобы дать вам некоторый успех! – Fals