Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.190.207.144] |
|
Сообщ.
#1
,
|
|
|
>> Недействительный аргумент обратной передачи или обратного вызова. Проверка события включена с помощью <pages enableEventValidation="true"/> в конфигурации или <%@ Page EnableEventValidation="true" %> на странице. В целях безопасности эта функция проверяет, что аргументы для событий обратной передачи или обратного вызова поступают из элемента управления сервера, сформировавшего их изначально. Если данные действительные и ожидавшиеся, используйте метод ClientScriptManager.RegisterForEventValidation, чтобы зарегистрировать данные обратной передачи и обратного вызова для проверки.
Народ честно вам скажу меня это уже напрягает, данная ошибка призывает отключить проверку на соответствие запросов, вызваны они компонентом сформированным на сервере или в процессе работы страницы, то есть java скриптом. Прикол в том что я не юзаю левых скриптов(использую AjaxControlToolkit), при попытке отключить проверку EnableEventValidation="false", GridView перестает обрабатывать событие RowUpdating (остальное вроде работает, удаление и добавление с внешних контролов работает точно) при попытке обновления информации вылетает ошибка та что выше, и если отключить проверку EnableEventValidation="false", при нажатии на "обновить" не чего не происходит, страница обновляется, GridView остается в том-же положении -- выбранная строка остается в режиме редактирования, данные не обновляются. , События обрабатываются в коде, (не автоматизированны) . <asp:GridView ID="gvTask" runat="server" AutoGenerateColumns="False" CellPadding="4" OnPageIndexChanging="gvTask_PageIndexChanging" OnRowCancelingEdit="gvTask_RowCancelingEdit" OnRowDataBound="gvTask_RowDataBound" OnRowDeleting="gvTask_RowDeleting" OnRowEditing="gvTask_RowEditing" OnRowUpdating="gvTask_RowUpdating" OnSorting="gvTask_Sorting" AllowPaging="True"> сейчас в коде поставил отладочную остановку на всех функциях GridView, до gvTask_RowUpdating я так и не достучался ко всем остальным обращения есть. В общем эту проблему надо научится решать как-то. Еще нюанс я не уверен но возможно проблема появилась после добавления AjaxControlToolkit, до подключения компонента проблемы небыло точно, на момент отладки GridView все работало по пробовал отключить компоненты AjaxControlToolkit, удолил компоненты, строку <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %> не помогло. |
Сообщ.
#2
,
|
|
|
gvTask.DataBind() где вызывается?
|
Сообщ.
#3
,
|
|
|
в отдельной процедуре после любого изменения: удаления изменения добавления
Private Sub BGVClick() Dim Site As String = Session("Site") Dim UserID As String = Session("UserID") If Site = "" Or UserID = "" Then Else Using conn As New SqlConnection(Seting.ConnectionString) Dim dsTask As New DataSet() Dim Sel As String = "*************** скрыто ****************" Dim strSelectCmd As String = "SELECT " + Sel + " FROM Task WHERE UserSite = '" + Site + "' AND UserKey = '" + UserID + "'" Dim da As New SqlDataAdapter(strSelectCmd, conn) conn.Open() da.Fill(dsTask, "Task") Dim dvTask As DataView = dsTask.Tables("Task").DefaultView If (IsDBNull(ViewState("SortExpression")) = False) Then dvTask.Sort = ViewState("SortExpression") End If gvTask.DataSource = dvTask gvTask.DataBind() End Using End If End Sub |
Сообщ.
#4
,
|
|
|
Цитата VitMit @ после любого изменения: удаления изменения добавления а изначально? |
Сообщ.
#5
,
|
|
|
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load gvTask.AllowPaging = True gvTask.PageSize = 10 gvTask.AllowSorting = True gvClick.AllowPaging = True gvClick.PageSize = 10 gvClick.AllowSorting = True BGVClick() End Sub На стронице 2 GV, gvClick работает с SqlDataSource, gvTask работает в коде, я токо ща обратил внимание BGVClick() логичнее назвать BGVTask(), ща переименую для наглядности. Просто ранее BGVClick() обрабатывал обе таблицы. Добавлено В обще если быть до конца честным на стронице много GV, решил упростить немного, раскидать 1 страницу на несколько и вот по порядку перекидываю, на чистую страницу (подключенную к Site.Master), тупо на пустой код переношу фрагменты кода с предыдущей. Вот так выглядит: Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load gvTask.AllowPaging = True gvTask.PageSize = 10 gvTask.AllowSorting = True gvClick.AllowPaging = True gvClick.PageSize = 10 gvClick.AllowSorting = True BGVTask() End Sub Private Function BGVTask() As String If Not (Session("Site") = "" Or Session("UserID") = "") Then Try Using conn As New SqlConnection(Seting.ConnectionString) Dim dsTask As New DataSet() Dim Sel As String = "******************************" Dim strSelectCmd As String = "SELECT " + Sel + " FROM Task WHERE UserSite = '" + Session("Site") + "' AND UserKey = '" + Session("UserID") + "'" Dim da As New SqlDataAdapter(strSelectCmd, conn) conn.Open() da.Fill(dsTask, "Task") Dim dvTask As DataView = dsTask.Tables("Task").DefaultView If (IsDBNull(ViewState("SortExpression")) = False) Then dvTask.Sort = ViewState("SortExpression") End If gvTask.DataSource = dvTask gvTask.DataBind() End Using Return "ok" Catch ex As Exception Raport("task_app|BGVTask|" + ex.Message) ' запись ошибки в файл Return ex.Message End Try Else Raport("task_app|BGVTask|Не корректный вход на страницу") Return "Не корректный вход на страницу" End If End Function |
Сообщ.
#6
,
|
|
|
а если
If Not IsPostBack Then BGVTask() ? |
Сообщ.
#7
,
|
|
|
все функции в коде:
Protected Sub Page_Load Private Function BGVTask() Protected Sub gvTask_RowDataBound Protected Sub BADDTaskClick_Click Protected Sub BADDTask_Click Protected Sub gvTask_Sorting Protected Sub gvTask_RowDeleting Protected Sub gvTask_RowUpdating Protected Sub gvTask_RowCancelingEdit Protected Sub gvTask_RowEditing Protected Sub gvTask_PageIndexChanging на стронице 2 GV Ошибка по прежнему присутствует Добавлено Цитата Relaxander @ If Not IsPostBack Then BGVTask() 2 мин Добавлено О! Работает, спс большое, нет огромное, ща по юзаю гугл по ищю инфу по постбеку |