creare una classe di base per l'applicazione ASP.NET . Tutti i tuoi WebForms dovrebbe ereditare da questa classe di base . In questo esempio, la classe è il nome BasePage .
2
In ogni ASP.Net WebForm cambiare la riga Inherits System.Web.UI.Page a Inherits BasePage .
3
l'override del metodo Render di base con l'aggiunta di una subroutine per la classe BasePage . Questo metodo farà il lavoro di spostare il ViewState alla fine della pagina . La funzione dovrebbe contenere il seguente codice:
Protected Overrides Sub Render ( scrittore di ByVal come System.Web.UI.HtmlTextWriter ) ' Dichiara una objectDim StringWriter StringWriter Come System.IO.StringWriter = New System.IO.StringWriter
'Dichiara un objectDim HTMLWriter HtmlTextWriter Come HtmlTextWriter = New HtmlTextWriter ( StringWriter ) per
' Chiama la funzionalità di rendering predefinito di ASP.Net alla objectMyBase.Render HTMLWriter ( HTMLWriter ) per
' Prendi l'uscita pagina come HTML stringDim html As String = stringWriter.ToString ( ) per
' Trova la posizione nella stringa HTML di inizio del ViewState blockDim StartPoint As Integer = html.IndexOf ( " < , input type = nome " " nascosto " " = " " __VIEWSTATE " " " ) per
' Se il ViewState esiste, spostare ITIF StartPoint > = 0 Then' non __ VIEWSTATE esiste?
'Trova il postion della fine del blockDim EndPoint ViewState As Integer = html.IndexOf ( " /> " , StartPoint ) + 2
' Metti il blocco di ViewState in un stringDim ViewStateInput As String = html.Substring ( StartPoint , EndPoint - StartPoint ) per
'Rimuove il blocco dal ViewState della pagina HTMLhtml = html.Remove ( StartPoint , EndPoint - StartPoint ) per
' Trova l' tag di chiusura per l' FormEndStart WebFormDim As Integer = html.IndexOf ( " < /form > " ) per
' Inserire il blocco ViewState indietro nel codice HTML della pagina appena prima della fine tagIf FormEndStart > = 0 Thenhtml = html.Insert ( FormEndStart , ViewStateInput ) Fine IfEnd Se Output
' il HTMLwriter.Write modificato ( html ) End Sub
Programmazione © www.354353.com