45 messaggi dal 16 aprile 2008
Sono 2 giorni che cerco di risolvere una situazione per favore aiutatemi prima che impazzisco.

Ho una gridview su cui permetto l'edit di una cololla:

<asp:GridView
ID="gr_TDoc"
runat="server" AutoGenerateColumns="false"
AllowPaging="True" AllowSorting="True"
BorderWidth="0px" PageSize="10" GridLines="None"
DataKeyNames="NumReg" CellPadding="0" >
<PagerStyle CssClass="pager-row" />
<RowStyle CssClass="row" />
<PagerSettings
Mode="NumericFirstLast" PageButtonCount="3"
FirstPageText="«" LastPageText="»" />

<SelectedRowStyle Width="10px" />
<Columns>
:
:
<asp:TemplateField HeaderText="Chiuso" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Left">
<EditItemTemplate>
<asp:CheckBox ID="chkStato" runat="server" Text=" " Width="18px" Checked='<%# iif (Eval("Stato")= 2 , true , false) %>' />
</EditItemTemplate >
<ItemTemplate>
<asp:CheckBox ID="chkStato" runat="server" Checked='<%# iif (Eval("Stato")= 2, true , false) %>' Enabled="false" />
</ItemTemplate>
</asp:TemplateField >

<asp:CommandField EditImageUrl="~/images/edit-icon.gif" ButtonType="Image" ShowEditButton="True" CancelText="Annulla" UpdateImageUrl="~/images/save-icon.gif" CancelImageUrl="~/images/hr.gif" ItemStyle-HorizontalAlign="Right" />
<asp:CommandField />

</Columns>
</asp:GridView>


Quando cerco di modificare il check ho il seguente errore:



Argomento di postback o callback non valido. La convalida degli eventi viene abilitata mediante <pages enableEventValidation="true"/> nella configurazione oppure mediante <%@ Page EnableEventValidation="true" %> in una pagina. Per motivi di sicurezza, viene verificato che gli argomenti con cui eseguire il postback o il callback di eventi siano originati dal controllo server che ne aveva inizialmente eseguito il rendering. Se i dati sono validi e previsti, utilizzare il metodo ClientScriptManager.RegisterForEventValidation per registrare i dati di postback o callback per la convalida.

ho anche inserito:

Protected Overloads Overrides Sub Render(ByVal writer As HtmlTextWriter)
For Each r As GridViewRow In gr_TDoc.Rows
If r.RowType = DataControlRowType.DataRow Then

For columnIndex As Integer = 0 To r.Cells.Count - 1
Page.ClientScript.RegisterForEventValidation(r.UniqueID & "$ctl00", columnIndex.ToString())
Next

End If
Next

MyBase.Render(writer)
End Sub

Se invece metto enabledviewState=false nella grid, posso aggiornare ma quando clicco su pulsante Ricerca se il numero di righe è diverso da quelle precedenti ovvero minori, ho il seguente errore

Errore: impossibile trovare un controllo con ID 'ctl00$CorpoHome$gr_TDoc$ctl05$ctl00' oppure un controllo diverso è stato assegnato allo stesso ID dopo il postback. Se l'ID non è stato assegnato, impostare in modo esplicito la proprietà ID dei controlli che generano eventi di postback per evitare il problema.

Non so più cosa fare. Per FAVORE AIUTOOOO!!
Saluti Diana
scusami il motico per il quale esegui l'ovveride della sub Render?

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
45 messaggi dal 16 aprile 2008
Ho cercato di vedere un pò di esempi e tra EnableEventValidation=false e il render era meglio il render, ma probabilmente non serve. Non sapendo cosa fare ho tentato. Secondo te che devo fare per poter avere una ricerca e un update di riga che funziona? POSSO IMPAZZIRE NON SO' D'AVVERO CHE FARE!!
grazie in anticipo..

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.