Меня интересует такое:
возможно ли изменить способ сохранения вьюстейта внутри пользовательского контрола, например, чтобы он не лепился в хидден елемент, а ложить его куда нить в другое место, чтобы потом была возможность разграничить вьюстэйты контролов и менять данные при помощи javascript?
заранее благодарен
ViewState storing location
От:
Аноним
Дата:
06.06.06 14:13
Оценка:
ну, допустим, положишь ты его в другое место. а менять-то жабой как будешь?
проще сделай еще один хидден и клади туда чего хочешь
Можно вью стэйт на сервере хранить. У меня коде есть. Тока чтобы еффективнее работал надо использовать базовый класс для всех страниц в проекте.
Если интерсно могу код дать...
Здравствуйте, ostap100, Вы писали:
O>Можно вью стэйт на сервере хранить. У меня коде есть. Тока чтобы еффективнее работал надо использовать базовый класс для всех страниц в проекте. O>Если интерсно могу код дать...
O>данное сообщение получено с www.gotdotnet.ru O>ссылка на оригинальное сообщение
Да-да, очень интересно!
Если есть такая возможность, то будьте добры!
В Сессии мне кажеться не очень эффективно такое хранить, но идея правильная
Private ReadOnly Property ViewStateFilePath() As String
Get
Dim str_fold As String
Dim str_file As String'//
str_fold = System.Configuration.ConfigurationManager.AppSettings.Item("PersistedViewState") '"c:\proc\PersistedViewState\" 'System.IO.Path.Combine(Request.PhysicalApplicationPath, "PersistedViewState")
str_file = Session.SessionID & "-" & Request.ServerVariables("SERVER_NAME").ToString + Request.ServerVariables("SCRIPT_NAME").ToString.Replace("/", "-") & ".vs"'// Return System.IO.Path.Combine(str_fold, str_file)
End Get
End Property
Protected Overrides Function LoadPageStateFromPersistenceMedium() As Object'* determine which file to pull If Not (System.IO.File.Exists(ViewStateFilePath)) Then
Return Nothing
Else'* open file Dim obj_read As System.IO.StreamReader
Dim str_read As String
Dim obj_frmt As System.Web.UI.LosFormatter
'//
obj_read = System.IO.File.OpenText(ViewStateFilePath)
str_read = obj_read.ReadToEnd
obj_read.Close()
obj_frmt = New System.Web.UI.LosFormatter
'// Return obj_frmt.Deserialize(str_read)
End If
End Function
Protected Overrides Sub SavePageStateToPersistenceMedium(ByVal viewState As Object)
Dim obj_frmt As System.Web.UI.LosFormatter = New System.Web.UI.LosFormatter
Dim obj_stgw As System.IO.StringWriter = New System.IO.StringWriter
Dim obj_strw As System.IO.StreamWriter
'//
obj_frmt.Serialize(obj_stgw, viewState)
'* save file to disk
obj_strw = System.IO.File.CreateText(ViewStateFilePath)
obj_strw.Write(obj_stgw.ToString)
obj_strw.Close()
End Sub