Språk: VB Kommer du ihåg detta (lite modifierat): Du kan ju slänga in detta i en class. Som du lägger till på varje sida. Det är just det jag vill ha hjälp med, tips eller exempel. Jag har gjort en klass, men jag använder mig av en huvudsida som dynamiskt inkluderar användarkontroller, hur lägger jag till denna klass i dessa användarkontroller. Allt fungerar perfekt om jag använder en vanlig .aspx-sida med eller utan codebehind.Anpassad sidvalideringskontroll
Jag har gjort en anpassad valideringssub:
<code>
Public Sub ValidatePage(ByVal Obj As Object, ByVal EA As EventArgs) Handles btnAction.Click
'--> Validerar sidan.
Page.Validate()
'--> Deklarerar variabler.
Dim strErrorMessage As String
Dim intErrorMessageHeight As Integer = 20
Dim objValidator As IValidator
'--> Loopar igenom alla validerings-kontroller
For Each objValidator In Page.Validators
'--> Om ett fel hittas
If Not (objValidator.IsValid) Then
'--> Bygger felmeddelande
strErrorMessage += "» " & objValidator.ErrorMessage & "<br>"
intErrorMessageHeight += 12
End If
Next '//For Each objValidator In Page.Validators
'--> Om inte felmeddelande-strängen är tom.
If Not (strErrorMessage Is Nothing) Then
'--> Klient-meddelande
lblClientMessage.CssClass = "ErrorMessage"
lblClientMessage.Attributes.CssStyle.Item("Height") = intErrorMessageHeight
lblClientMessage.Text = "Följande fel har inträffat:<br>" & strErrorMessage
'--> Inga fel hittades
Else
If (Page.IsValid) Then
'--> Återställer meddelanderuta
lblClientMessage.Attributes.CssStyle.Item("Height") = 20
End If
End If '//If Not (strErrorMessage Is Nothing)
End Sub
#End Region
</code>
Jag vill såklart INTE behöva lägga in denna sub på varje sida utan tänkte skapa en anpassad kontroll, typ: CustomControl.vb
Är det någon som har ett förslag eller exempel på hur jag skall gå tillväga?Sv: Anpassad sidvalideringskontroll
*************
"Jag vill visa klienten vad som händer t.ex. Sparar data, var god vänta mm. Anledningen till detta är att vid spara eller uppdatera tar det några sekunder eftersom det även skickas en del bekräftelsemail och då vill jag alltså informera klienten om vad som händer samtidigt som jag förhindrar dubbelpostning av formuläret. Jag har löst det men på ett lite kluddigt sätt, nämligen:
1. Det var CausesValidation som ställde till det på knappen btnAction så jag satte detta till false.
2. Sedan band jag knappen btnAction till en egen valideringssub ValidatePage()"
*************
Jag vill alltså visa vad som händer när sidan postats om allt är OK, annars vill jag visa felmeddelandet via lblClientMessage istället för ValidationSummary. Den senare visas ju ej eftersom jag satt btnAction-attibutet: CausesValidation = FalseSv: Anpassad sidvalideringskontroll
//Johan NSv: Anpassad sidvalideringskontroll
Sv: Anpassad sidvalideringskontroll