Allora... è un quesito vecchio ma senza soluzione, lo ripropongo nella speranza che qualcuno mi sappia dare una risposta o un'indicazione.
Il problema riguarda il corretto funzionamento dei validators nella mia pagina con template.
Ogni pagina dalla seguente classe che mi permette di gestire skins e altre cosette:
Public Class AdvancedBasePage
Inherits Page
Dim _PageTitle As String
Public Property PageTitle() As String
Get
Return _PageTitle
End Get
Set(ByVal Value As String)
_PageTitle = Value
End Set
End Property
Protected Overrides Sub OnInit(ByVal e As System.EventArgs)
MyBase.OnInit(e)
BuildPage(GenerateHTMLForm)
End Sub
Protected Sub BuildPage(ByVal form As HtmlForm)
Me.Controls.AddAt(0, New LiteralControl("<html><head>" _
& "<title>" & PageTitle & "</title>" _
& "<link href= """ & Page_Template.Common.Utils.GetCurrentSkinName _
& """ rel = ""stylesheet"" type=""text/css""></head><body>"))
Me.Controls.Add(form)
Me.Controls.Add(New LiteralControl("</body></html>"))
End Sub
Private Function GenerateHTMLForm()
Dim form As New HtmlForm
AddHeader(form)
AddControlsFromDerivedPage(form)
AddFooter(form)
Return form
End Function
Private Sub AddHeader(ByVal form As HtmlForm)
Dim head As Control
head = LoadControl(Page_Template.Common.Utils.GetHeaderAs cxName)
form.Controls.Add(head)
End Sub
Private Sub AddFooter(ByVal form As HtmlForm)
Dim foot As Control
foot = LoadControl(Page_Template.Common.Utils.GetFooterAs cxName)
form.Controls.Add(foot)
End Sub
Private Sub AddControlsFromDerivedPage(ByVal form As HtmlForm)
Dim count As Integer
Dim i As Integer
count = Me.Controls.Count
Dim ctrl As System.Web.UI.Control
For i = 0 To count - 1
ctrl = Me.Controls(0)
form.Controls.Add(ctrl)
Me.Controls.Remove(ctrl)
Next
End Sub
End Class
Ora sembra funzionare tutto tranne i validators e andando a guardarmi il codice html generato forse sono arrivato a capo della cosa... forse:
la variabile javascript Page_ValidationActive è settata a false, ma il fatto èp che lato server non c'è modo di settarla true. Le impostazioni dei required filed validators sono esatte è tutto corretto... ma perché quella dannata variabile è settata a false???
E sopratutto perché non c'è un corrispettivo lato server?
spero spero e ancora spero... altrimenti butto via la classe.

Rispondi quotando
