У меня есть страница (aspx), которая содержит пользовательский контроль (ascx).При обратной передаче aspx я хотел бы прочитать некоторые контрольные значения в ascx.Поэтому, прочитав хороших статей , я создал событие в моем aspx, которое запускается при обратной передаче.Обработчик событий находится в ascx и просто записывает значения, которые меня интересуют, в представление состояния, чтобы родительская страница могла их прочитать.Проблема в том, что мой обработчик событий никогда не срабатывает, хотя я вижу, что событие возникает, когда я прохожу код.Так что мой код бомбит при попытке прочитать состояние представления (которое пусто)
Вот что у меня в aspx:
Partial Public Class Visitor
Inherits System.Web.UI.Page
Public Event PagePostback(ByVal sender As Object, ByVal e As System.EventArgs)
.
.
.
Private Sub SaveAssignment(ByVal e As EventArgs)
RaiseEvent PagePostback(Me, e) 'Tell usercontrol to post its control values to the viewstate
'read viewstate and save its values
End Sub
Вот что у меня в ascx:
Partial Public Class GenVstr
Inherits System.Web.UI.UserControl
Protected WithEvents pageVisitor As Visitor
Public Property visitType() As String
Get
Return ViewState("visitType").ToString
End Get
Set(ByVal value As String)
ViewState("visitType") = value
End Set
End Property
Public Sub ParentPostback(ByVal sender As Object, ByVal e As EventArgs) Handles pageVisitor.PagePostback
With Me
If optVIP.Checked Then .visitType = "VIP"
If optFamily.Checked Then .visitType = "Family"
If optMedia.Checked Then .visitType = "Media"
If optGuest.Checked Then .visitType = "Guest"
If optConference.Checked Then .visitType = "Conference"
End With
End Sub
О, я случайно не упомянул, что я динамически загружаю ascx?:)