2015-06-04 5 views
0

Редактироватькнопку Отключить, если txtbox проверяет

Решено! Благодаря @Peter Campbell за то, что он указал мне в правильном направлении (а затем выполнял большую часть работы по ногам, чтобы доставить меня туда). Код изменен следующим образом:

If String.IsNullOrEmpty(output) Then 
     exists = False 
    Else 
     exists = True 
    End If 
    If String.IsNullOrEmpty(output) Then Return String.Empty 
    Dim c As GPCUser 

    If TypeOf HttpContext.Current.Session("Customer") Is GPCUser Then 
     c = CType(HttpContext.Current.Session("Customer"), GPCUser) 

     If c.AccountNo > 0 Then Return "" 
    End If 

Перемещая если заявление, которое устанавливает «существует» логического раньше любые возвращаемые заявления, они по-прежнему стрелять правильно и проверить электронную почту должным образом, но будет правильно отключить кнопку, а также.

End Edit

У меня есть страница, которая проверяет адрес электронной почты клиента, чтобы увидеть, если он находится в нашей базе данных. Если это так, страница должна попросить клиента войти в систему с этим письмом вместо продолжения работы с новой учетной записью, но на самом деле это не предотвратит их продолжение.

Я бы хотел отключить кнопку продолжения, если адрес электронной почты уже находится в системе, но я не могу понять, где (я новый веб-разработчик магазина и нет документации, которая поможет мне с существующим сайтом).

Код Ниже

<%@ Page Language="VB" MasterPageFile="~/Standard-no-menu.master" AutoEventWireup="false" CodeFile="billing-details.aspx.vb" Inherits="billing_details" %> 

"); -> "); ->

<script language="javascript" type="text/javascript"> 
function validateForm() 
{ 
if(document.getElementById('<%= lstPaymentOptions.ClientID %>').selectedIndex == "0") 
{ 
    alert("Please select \"payment method\"."); 
    document.getElementById('<%= lstPaymentOptions.ClientID %>').focus(); 
    return (false); 
} 

if (aForgotPwd.style.display != null && aForgotPwd.style.display.toString() != "none") { 
    var emailEle = document.getElementById("<%= txtEmail.ClientID %>"); 
    emailEle.focus(); 

    return false; 
} 


if(document.getElementById('<%= txtEmail.ClientID %>').value=="") 
{ 
    alert("Please enter a value in the field \"Email\"."); 
    document.getElementById('<%= txtEmail.ClientID %>').focus(); 
    return (false); 
} 

validemail=0; 
var checkStr = document.getElementById('<%= txtEmail.ClientID %>').value; 
for (i = 0; i < checkStr.length; i++) 
{ 
    if(checkStr.charAt(i)=="@") 
     validemail |= 1; 
    if(checkStr.charAt(i)==".") 
     validemail |= 2; 
} 
if(validemail != 3) 
{ 
    alert("Please enter a valid email address."); 
    document.getElementById('<%= txtEmail.ClientID %>').focus(); 
    return (false); 
} 


if(document.getElementById('<%= txtFirstName.ClientID %>').value=="") 
{ 
    alert("Please enter a value in the field \"First Name\"."); 
    document.getElementById('<%= txtFirstName.ClientID %>').focus(); 
    return (false); 
} 

if(document.getElementById('<%= txtLastName.ClientID %>').value=="") 
{ 
    alert("Please enter a value in the field \"Last Name\"."); 
    document.getElementById('<%= txtLastName.ClientID %>').focus(); 
    return (false); 
}</script> 
<asp:Panel runat="server" DefaultButton="btnContinue"> 

    <div class="billing-row"> 
<div class="cart-process-image"><img alt="" src="images/list_tick.gif"/></div> 
<div class="cart-process-text">Shopping Cart</div> 
<div class="cart-process-image"><img alt="" src="images/rightArrow.jpg"/></div> 
<div class="cart-process-text"><strong>Personal and Shipping Details</strong></div> 
<div class="cart-process-image"><img alt="" src="images/rightArrow.jpg"/></div> 
<div class="cart-process-text">Payment Details</div> 
</div> 
<div class="billing-column-left"> 
    <div class="billing-holder"> 
     <div class="billing-row"> 
      <p><strong>Payment Method</strong></p> 
      <div class="billing-column-mandatory">*</div> 
      <div class="billing-column-label">How would you like to pay?</div> 
      <div class="billing-column-textbox"><asp:DropDownList ID="lstPaymentOptions" runat="server" AppendDataBoundItems="True" CssClass="drop-down-list"></asp:DropDownList></div> 
      <div><asp:RequiredFieldValidator ID="paymentValidator" runat="server" 
      ControlToValidate="lstPaymentOptions" ErrorMessage="Please select a payment method" ForeColor="Red" InitialValue="Please Select"> 
     </asp:RequiredFieldValidator></div>    
     </div> 
     </div> 
     <div class="billing-row"> 
    </div> 

    <div class="billing-holder"> 
     <p><strong>Your Contact Details</strong></p> 
     <div class="billing-row"> 
      <div class="billing-column-mandatory">&nbsp;</div> 
      <div class="billing-column-label">Company/Account Name: </div> 
      <div class="billing-column-textbox"><asp:TextBox name="txtAccountName" ID="txtAccountName" MaxLength="60" Width="270" runat="server" CssClass="textbox"></asp:TextBox></div> 
     </div> 
     <div class="billing-row"> 
      <div class="billing-column-mandatory">*</div> 
      <div class="billing-column-label">Email: <asp:RequiredFieldValidator ID="emailValidator" runat="server" 
      ControlToValidate="txtEmail" ErrorMessage=" Required" ForeColor="Red"> 
     </asp:RequiredFieldValidator></div> 
      <div class="billing-column-textbox"><asp:TextBox ID="txtEmail" MaxLength="60" 
        Width="270" runat="server" CssClass="textbox" AutoPostBack="True"></asp:TextBox><b><a id="aForgotPwd" href="/forgotten-password.aspx" style="display:none">&nbsp;We have this email address already in our database. Click here to retrieve password?</a></b></div> 
     </div> 
     <div class="billing-row"> 
     <div class="billing-column-mandatory">*</div> 
     <div class="billing-column-label">First Name: <asp:RequiredFieldValidator ID="firstNameValidator" runat="server" 
      ControlToValidate="txtFirstName" ErrorMessage=" Required" ForeColor="Red"> 
     </asp:RequiredFieldValidator></div> 
     <div class="billing-column-textbox"><asp:TextBox name="txtFullName" ID="txtFirstName" MaxLength="30" Width="270" runat="server" CssClass="textbox"></asp:TextBox></div> 
     </div> 
     <div class="billing-row"> 
     <div class="billing-column-mandatory">*</div> 
     <div class="billing-column-label">Last Name: <asp:RequiredFieldValidator ID="lastNameValidator" runat="server" 
      ControlToValidate="txtLastName" ErrorMessage=" Required" ForeColor="Red"> 
     </asp:RequiredFieldValidator></div> 
     <div class="billing-column-textbox"><asp:TextBox name="txtFullName" ID="txtLastName" MaxLength="30" Width="270" runat="server" CssClass="textbox"></asp:TextBox></div> 
     </div> 
    <div class="billing-holder"> 
     <p><strong>Additional Information relating to this order.</strong></p> 
     <div class="billing-column-textfield"><asp:TextBox TextMode="MultiLine" Width="463" Height="212" runat="server" ID="txtAdditionalInfo" CssClass="textbox"></asp:TextBox></div> 
     </div> 
</div> 
<asp:Panel ID="pnlVerticalResponse" runat="server" Visible="false"> 
<div class="billing-oos-background"> 
<div class="billing-row"> 
<asp:Label ID="lblSubscribe" runat="server" Text="<p><strong>You are not subscribed to our Newsletter:</strong>"></asp:Label></div> 
<div class="billing-row"><asp:CheckBox ID="chkSubscribe" runat="server" /> I would like to receive information and promotional material from Global PC</div></div> 
</asp:Panel> 
<asp:Panel ID="pnlOutOfStockBlurb" runat="server" Visible="false" > 
<div class="billing-oos-background"><div class="billing-row"><asp:Label ID="lblOutOfStockMessage" runat="server" Text="<strong>Items out of Stock:</strong><p>You have ordered one or more items that are currently out of stock. Normal procedure is for Global PC to hold the order until all items are in stock and ship entire order at once. However, if you wish you can elect to have your order split into two shipments with the out of stock items arriving at a later date. Would you like your order split into two shipments?</p>"></asp:Label></div> 
<div class="billing-row"><asp:RadioButtonList ID="radlistSplit" runat="server" CellSpacing="5" AutoPostBack="true" CausesValidation="True" OnSelectedIndexChanged="radlistSplit_SelectedIndexChanged" CssClass="textbox" Borderwidth="0px"><asp:ListItem Value="0" Text="Yes, I want to recieve my order as two separate deliveries"></asp:ListItem><asp:ListItem Value="1" Text="No, I want to wait and receive all my items at once"></asp:ListItem></asp:RadioButtonList> 
<asp:RequiredFieldValidator ID="splitvalidator" runat="server" 
      ControlToValidate="radlistSplit" ErrorMessage="Please select one Shipping Option" ForeColor="Red"> 
     </asp:RequiredFieldValidator> 
</div></div></asp:Panel> 

<div class="billing-row"> 
    <div class="billing-button-cart"> 
     <div class="green-button"> 
      <a href="cart.aspx">Back To Cart</a> 
     </div> 
    </div> 
    <div class="billing-button-checkout"> 
     <div class="green-button"> 
      <asp:linkButton text="Checkout" OnClientClick="return validateForm();" runat="server" ID="btnContinue" /> 
     </div> 
    </div> 
</div> 
</asp:Panel> 


</asp:Content> 

VB.NET

Imports DataAccessLayer 
Imports System.Net 
Imports System.Data 
Imports System.Net.Mail 
Imports com.verticalresponse.api 


Partial Class billing_details 
    Inherits System.Web.UI.Page 
    Protected c As GPCUser 
    Dim isMember As Boolean = False 
    Dim beMember As Boolean = False 
    Shared exists As Boolean = False 


    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
     Master.Page.Title += " - Checkout" 

     Dim listID As Integer 
     Dim sessionID As Integer 
     Dim VRUser As New VRAPI() 
     Dim newSession As New loginArgs() 

     newSession.username = "******@********.co.nz" 
     ' Your VerticalResponse username 
     newSession.password = "**********" 
     'Your VerticalResponse password 
     ' objLA.impersonate_user = "[email protected]"; // If accessing or acting as a subaccount, uncomment this and replace it with the applicable email address. 
     newSession.session_duration_minutes = "120" 
     Dim [date] As DateTime = DateTime.Now 
     listID = 284662333 


     If TypeOf Session("Customer") Is GPCUser Then 
      c = CType(Session("Customer"), GPCUser) 
     Else 
      c = New GPCUser 
     End If 

     If c.CartObjects.Count <= 0 Then 
      Response.Redirect("cart.aspx") 
     End If 



     If Not Page.IsPostBack Then 



      ' Check shipping to see if delivery details need to be displayed 
      If c.ShippingMethodName Like "*Pick-Up*" Then 
       pnlShippingDetails.Visible = False 
      End If 

      'Check if customer has ordered out of stock items 
      If c.intOutOfStockItems >= 1 Then 
       pnlOutOfStockBlurb.Visible = True 
      Else 
       pnlOutOfStockBlurb.Visible = False 
      End If 

      txtEmail.Attributes.Add("onblur", CStr(IIf(c.AccountNo > 0, "", "CallMe(this.id,this.id);"))) 
      lstPaymentOptions.DataSource = SqlHelper.ExecuteDataset(System.Configuration.ConfigurationManager.AppSettings("dbConn"), "xw_GetPaymentTypes").Tables(0) 
      lstPaymentOptions.DataTextField = "PTDESC" 
      lstPaymentOptions.DataValueField = "PTNO" 
      lstPaymentOptions.Items.Insert(0, "Please Select") 
      'lstPaymentOptions.DataBind() 

      If c.CustomerID > 0 Then 
       'populate the table 
       txtAccountName.Text = c.AccountName 
       txtFirstName.Text = c.FirstName 
       txtLastName.Text = c.LastName 
       txtEmail.Text = c.Email 
       txtAddress.Text = c.Address 
       txtCityTown.Text = c.City 
       txtSuburb.Text = c.Suburb 
       txtPostcode.Text = c.PostCode 
       txtPhone.Text = c.Phone 
       txtMobile.Text = c.Mobile 



       Try 
        sessionId = VRUser.login(newSession) 
       Catch ex As System.Exception 
        'lblMessage.Text = ex.ToString() 
       End Try 
       Dim getMember As New getListMemberByEmailAddressArgs() 
       getMember.session_id = sessionId 
       getMember.list_id = listID 
       getMember.email_address = txtEmail.Text 
       Try 
        VRUser.getListMemberByEmailAddress(getMember) 
        isMember = True 
        pnlVerticalResponse.Visible = False 
       Catch ex As System.Exception 
        isMember = False 
        pnlVerticalResponse.Visible = True 
       End Try 

       If (isMember = False) Then 
        pnlVerticalResponse.Visible = True 
       End If 


       Dim dt As Data.DataTable = GPCUser.GetAccount(c.AccountNo) 
       If dt IsNot Nothing Then 
        If dt.Rows.Count > 0 Then 
         Dim dr As Data.DataRow = dt.Rows(0) 
         If dr("CREDITSTATUS") > "0" And dr("STOPCREDIT") = "N" And dr("CREDLIMIT") > "0" Then 
          lstPaymentOptions.Items.Remove("Please Select") 
          lstPaymentOptions.Items.Insert(0, New ListItem("My Global PC Account", "99")) 
          lstPaymentOptions.Items.Insert(0, "Please Select") 
         End If 
        End If 
       End If 
       dt.Dispose() 

      End If 
     End If 
    End Sub 

    'RadioButtons to set whether customer wants split shipping 
    Protected Sub radlistSplit_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles radlistSplit.SelectedIndexChanged 
     If radlistSplit.SelectedIndex = "0" Then 
      c.Instructions = "**CUSTOMER HAS SELECTED SPLIT SHIPPING**" 

     ElseIf radlistSplit.SelectedIndex = "1" Then 
      c.Instructions = "" 

     End If 
    End Sub 

    Protected Sub btnContinue_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnContinue.Click 

     If TypeOf Session("Customer") Is GPCUser Then 
      c = CType(Session("Customer"), GPCUser) 
     Else 
      Exit Sub 
     End If 

     If chkSubscribe.Checked = True Then 
      Dim listID As Integer = 284662333 
      Dim isMember As Boolean = False 


      Dim newSession As New loginArgs() 
      newSession.username = "[email protected]" 

      ' Your VerticalResponse username 
      newSession.password = "global2012" 

      'Your VerticalResponse password 
      ' objLA.impersonate_user = "[email protected]"; // If accessing or acting as a subaccount, uncomment this and replace it with the applicable email address. 
      newSession.session_duration_minutes = "120" 

      Dim [date] As DateTime = DateTime.Now 



      ' This is generated by creating a Service Reference that points to the VerticalResponse WSDL. 
      Dim VRUser As New VRAPI() 



      ' Let's try to log in. The login call will return a session ID, which we will use in all subsequent calls. 
      Dim sessionId As String = Nothing 
      Try 
       sessionId = VRUser.login(newSession) 


      Catch ex As System.Exception 
       txtAdditionalInfo.Text = ex.ToString() 
       Exit Sub 
      End Try 

      Dim getMember As New getListMemberByEmailAddressArgs() 
      getMember.session_id = sessionId 
      getMember.list_id = listID 
      getMember.email_address = txtEmail.Text 

      Try 
       VRUser.getListMemberByEmailAddress(getMember) 
       isMember = True 
      Catch ex As System.Exception 
       isMember = False 
      End Try 
      If (isMember = False) Then 
       Dim nMember As New ListMember() 
       nMember.list_id = listID 


       Dim memberData As NVPair() = New NVPair(2) {} 

       memberData(0) = New NVPair() 
       memberData(0).name = "email_address" 
       memberData(0).value = txtEmail.Text 

       memberData(1) = New NVPair() 
       memberData(1).name = "first_name" 
       memberData(1).value = txtFirstName.Text 

       memberData(2) = New NVPair() 
       memberData(2).name = "last_name" 
       memberData(2).value = txtLastName.Text 

       nMember.member_data = memberData 

       Dim objAL As New addListMemberArgs() 

       objAL.list_member = nMember 
       objAL.session_id = sessionId 

       Try 
        VRUser.addListMember(objAL) 

       Catch ex As System.Exception 
        txtAdditionalInfo.Text = ex.ToString() 
        Exit Sub 
       End Try 

      Else 


      End If 

     End If 

     c.PaymentType = lstPaymentOptions.SelectedValue 
     c.CustomerOrderNo = txtOrderNumber.Text 
     c.Instructions += txtAdditionalInfo.Text 
     c.CreateCustomerDetails(txtAccountName.Text, txtFirstName.Text, txtLastName.Text, txtEmail.Text, txtAddress.Text, txtSuburb.Text, txtCityTown.Text, txtPostcode.Text, txtPhone.Text, txtMobile.Text, lstCountry.SelectedValue) 
     c.AddShippingDetails(txtShippingFullName.Text, txtShippingAddress.Text, txtShippingCityTown.Text, txtShippingSuburb.Text, txtShippingPostcode.Text, lstShippingCountry.SelectedValue) 

     If c.CustomerID = 0 Then 
      Dim strPassword As String = "" 
      If c.GeneratedPassword <= "" Then 
       strPassword = UCase(RandomPassword.Generate(8, 8)) 
       c.GeneratedPassword = strPassword 
      Else 
       strPassword = c.GeneratedPassword 
      End If 

      GPCUser.AddUpdateCustomer(c) 


      Dim dt As DataTable = GPCUser.GetUser(c.Email, strPassword) 
      If Not dt Is Nothing Then 
       If dt.Rows.Count > 0 Then 
        c.UpdateUser(dt.Rows(0)("CustID")) 
        Dim obj As Object = Session("Customer") 
        Session("Customer") = c 
       Else 

       End If 
      Else 
      End If 

      Session("Customer") = c 
     End If 

     SendUpdateAccountEmailMessage(c.EmailCount) 

     ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 


     Response.Redirect("payment-details.aspx") 
    End Sub 


    'Email Validation 
    <System.Web.Services.WebMethod()> _ 
    Public Shared Function ValidateEmail(email As String) As String 
     Dim wbClient As WebClient = New WebClient() 
     Dim strUrl As String = ConfigurationManager.AppSettings("WebsiteURLFull") + "/ajax/check_email_address.aspx?Email=" + email 
     Dim reqHTML As Byte() 
     reqHTML = wbClient.DownloadData(strUrl) 
     Dim objUTF8 As UTF8Encoding = New UTF8Encoding() 
     Dim output As String = objUTF8.GetString(reqHTML) 
     If String.IsNullOrEmpty(output) Then Return String.Empty 
     Dim c As GPCUser 

     If TypeOf HttpContext.Current.Session("Customer") Is GPCUser Then 
      c = CType(HttpContext.Current.Session("Customer"), GPCUser) 
      exists = False 
      If c.AccountNo > 0 Then 

       exists = True 
      End If 
      Return "" 
     End If 



     Return output 
    End Function 

    'Method to send an email from GlobalPC 
    Private Sub SendMessage(fromEmail As String, fromEmailName As String, _ 
    toEmails As String(), IsBodyHtml As Boolean, message As String, subject As String) 
     Dim mail As MailMessage = New MailMessage 
     mail.From = New MailAddress(fromEmail, fromEmailName) 

     For Each toEmail As String In toEmails 
      mail.To.Add(New MailAddress(toEmail)) 
     Next 

     mail.Bcc.Add(fromEmail) 
     mail.IsBodyHtml = IsBodyHtml 
     mail.Subject = subject 
     mail.Body = message 
     Dim s As New SmtpClient(System.Configuration.ConfigurationManager.AppSettings("MailServer")) 
     s.Send(mail) 
    End Sub 


    'Sends email to GlobalPC if customer updates account details. 
    Private Sub SendUpdateAccountEmailMessage(emailCount As Integer) 
     Dim subject As String = "ALERT : Website user has updated his details" 
     Dim message As String 
     message &= "Account number " & c.AccountNo & " with email address " & c.Email & " has updated his account. Via page billing-details" & vbCrLf & vbCrLf 
     message += "Account Name : " & txtAccountName.Text & vbCrLf 
     message += "First Name : " & txtFirstName.Text & vbCrLf 
     message += "Last Name : " & txtLastName.Text & vbCrLf 
     message += "Email : " & txtEmail.Text & vbCrLf 
     message += "Address : " & txtAddress.Text & vbCrLf 
     message += "Suburb : " & txtSuburb.Text & vbCrLf 
     message += "City Town : " & txtCityTown.Text & vbCrLf 
     message += "Country : " & lstCountry.SelectedValue & vbCrLf 
     message += "Postcode : " & txtPostcode.Text & vbCrLf 
     message += "Phone : " & txtPhone.Text & vbCrLf 
     message += "Mobile : " & txtMobile.Text & vbCrLf 
     message += vbCrLf & vbCrLf 
     message += "Shipping Information" & vbCrLf 
     message += "txtShippingFullName.Text : " & txtShippingFullName.Text & vbCrLf 
     message += "txtShippingAddress.Text : " & txtShippingAddress.Text & vbCrLf 
     message += "txtShippingCityTown.Text : " & txtShippingCityTown.Text & vbCrLf 
     message += "txtShippingSuburb.Text : " & txtShippingSuburb.Text & vbCrLf 
     message += "txtShippingPostcode.Text : " & txtShippingPostcode.Text & vbCrLf 
     message += "lstShippingCountry.SelectedValue : " & lstShippingCountry.SelectedValue & vbCrLf 
     message += vbCrLf & vbCrLf 
     message += "More Information" & vbCrLf 
     message += "Order No: " & c.CustomerOrderNo & vbCrLf 
     message += "Payment Type: " & c.PaymentType & vbCrLf 
     message += "Instructions: " & c.Instructions & vbCrLf 
     message += vbCrLf & vbCrLf 
     message += "Regards" & vbCrLf & vbCrLf & "GlobalPC Admin Team" 

     SendMessage(ConfigurationManager.AppSettings("AccountDetailsUpdateEmail"), "Global PC", _ 
           New String() {ConfigurationManager.AppSettings("AccountDetailsUpdateEmail")}, False, message, subject) 
    End Sub 



    Protected Sub txtEmail_TextChanged(sender As Object, e As System.EventArgs) Handles txtEmail.TextChanged 

     Dim listID As Integer = 284662333 
     Dim isMember As Boolean = False 
     Dim newSession As New loginArgs() 
     newSession.username = "[email protected]" 
     ' Your VerticalResponse username 
     newSession.password = "global2012" 
     'Your VerticalResponse password 
     ' objLA.impersonate_user = "[email protected]"; // If accessing or acting as a subaccount, uncomment this and replace it with the applicable email address. 
     newSession.session_duration_minutes = "120" 
     Dim [date] As DateTime = DateTime.Now 
     ' This is generated by creating a Service Reference that points to the VerticalResponse WSDL. 
     Dim VRUser As New VRAPI() 

     ' Let's try to log in. The login call will return a session ID, which we will use in all subsequent calls. 
     Dim sessionId As String = Nothing 

     Try 
      sessionId = VRUser.login(newSession) 
     Catch ex As System.Exception 
      'lblMessage.Text = ex.ToString() 
     End Try 


     Dim getMember As New getListMemberByEmailAddressArgs() 
     getMember.session_id = sessionId 
     getMember.list_id = listID 
     getMember.email_address = txtEmail.Text 
     Try 
      VRUser.getListMemberByEmailAddress(getMember) 
      isMember = True 
      pnlVerticalResponse.Visible = False 
     Catch ex As System.Exception 
      isMember = False 
      pnlVerticalResponse.Visible = True 
     End Try 

    End Sub 

    Protected Sub chkSubscribe_CheckedChanged(sender As Object, e As System.EventArgs) Handles chkSubscribe.CheckedChanged 

     If chkSubscribe.Checked = True Then 
      beMember = True 
     Else 
      beMember = False 
     End If 

    End Sub 
End Class 

ответ

1

Похоже, электронная почта проверяется с текущими адресами здесь

'Email Validation 
    <System.Web.Services.WebMethod()> _ 
    Public Shared Function ValidateEmail(email As String) As String 
     Dim wbClient As WebClient = New WebClient() 
     Dim strUrl As String = ConfigurationManager.AppSettings("WebsiteURLFull") + "/ajax/check_email_address.aspx?Email=" + email 
     Dim reqHTML As Byte() 
     reqHTML = wbClient.DownloadData(strUrl) 
     Dim objUTF8 As UTF8Encoding = New UTF8Encoding() 
     Dim output As String = objUTF8.GetString(reqHTML) 
     If String.IsNullOrEmpty(output) Then Return String.Empty 
     Dim c As GPCUser 

     If TypeOf HttpContext.Current.Session("Customer") Is GPCUser Then 
      c = CType(HttpContext.Current.Session("Customer"), GPCUser) 
      exists = False 
      If c.AccountNo > 0 Then 

       exists = True 
      End If 
      Return "" 
     End If 

так существует переменная что указывает, соответствует ли адрес.

Попробуйте добавить к методу Page_Load

If Page.IsPostBack Then 
    If exists Then 
     btnContinue.enabled = false 
    End If 
End If 

Как страницы размещена обратно на сервер после нажатия кнопки, это будет проверить, существует ли верно, и если отключить кнопку.

p.s. Я бы изменил имя пользователя/пароль для использования ConfigurationManger.Appsettings и поместил ваше имя пользователя в web.config.

+1

Спасибо! Гез, я даже не видел тех, кто там. Мой босс заставил меня работать над этим на ночь после работы, и я слишком устал, даже не заметив, что он там. В любом случае, это не главная учетная запись, поэтому она не слишком ужасная. Спасибо, за код. – Wompguinea

+0

Я не умный человек ... где я должен помешать этой полезной строке кода? Я попробовал перетащить его в функцию проверки электронной почты и получил сообщение об общих переменных, а привязка его к btnContinue_click не помогла ... – Wompguinea

+0

А я вижу, что проверка электронной почты является общей функцией, поэтому она не сможет получить доступ переменные класса, такие как btnContinue. Любая идея, в которой вызывается ValidateEmail?Я не вижу его в javascript или VB, но, возможно, я пропустил его? –

Смежные вопросы