Lefteris Gkinis
Lefteris Gkinis

Reputation: 1259

I want to pass variable from code behind to aspx.page using vb.net

Im my aspx.page I have the lines:

<asp:Label ID="EmailLabel" runat="server" AssociatedControlID="Email">E-Mail</asp:Label>
<asp:TextBox  ID="Email" runat="server" TabIndex="4" CssClass="textEntry" CausesValidation="True"></asp:TextBox>
<%MailValidation(Email.Text)%>
<asp:RegularExpressionValidator runat="server" ID="RegExpValidator"
    CssClass="failureNotification" 
    SetFocusOnError="True" ControlToValidate="Email"
    ErrorMessage="<%= ValReturnTxt %>"
    ValidationGroup="RegisterUserValidationGroup">@</asp:RegularExpressionValidator>

And in my code behind I have:

Public ValReturnTxt As String
    Public Sub MailValidation(mail As String)
    'Dim retVal As String
    Dim s As Internet = New Internet
    Dim boolVal As Boolean = IsValidEmail(mail)
    ValReturnTxt = Internet._error        
End Sub

The code behind runs very good and gives the answer I want at any time.
Internet is a public class inside of a namespace Network
The line <%MailValidation(Email.Text)%> acts as I'm expecting
My problem is that I can't have the txt answer assign it in ValReturnTxt as ErrorMessage="<%= ValReturnTxt %>" in my RegularExpressionValidator

Upvotes: 0

Views: 600

Answers (1)

laylarenee
laylarenee

Reputation: 3284

You can access the control "RegExpValidator" inside your Sub MailValidation().

Public Sub MailValidation(mail As String)
    Dim s As Internet = New Internet
    Dim boolVal As Boolean = IsValidEmail(mail)
    RegExpValidator.ErrorMessage = Internet._error ' I added this line.
End Sub

Upvotes: 1

Related Questions