Wrox Programmer Forums

Need to download code?

View our list of code downloads.

| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read
BOOK: Beginning ASP.NET 4 : in C# and VB
This is the forum to discuss the Wrox book Beginning ASP.NET 4: in C# and VB by Imar Spaanjaars; ISBN: 9780470502211
Welcome to the p2p.wrox.com Forums.

You are currently viewing the BOOK: Beginning ASP.NET 4 : in C# and VB section of the Wrox Programmer to Programmer discussions. This is a community of tens of thousands of software programmers and website developers including Wrox book authors and readers. As a guest, you can read any forum posting. By joining today you can post your own programming questions, respond to other developers’ questions, and eliminate the ads that are displayed to guests. Registration is fast, simple and absolutely free .
DRM-free e-books 300x50
Reply
 
Thread Tools Search this Thread Display Modes
  #1 (permalink)  
Old May 5th, 2013, 05:21 AM
Registered User
Points: 30, Level: 1
Points: 30, Level: 1 Points: 30, Level: 1 Points: 30, Level: 1
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%
 
Join Date: May 2013
Posts: 7
Thanks: 0
Thanked 0 Times in 0 Posts
Default P. 596 Note question

Hello,
I have followed the NOTE on p. 596 of Chapter 16 which was proposing a way to check if a given user name already exists.

The user registration feature works, an email is sent.
The user name exists check is executed correctly when the user name text box looses focus and displays the error message if necessary (tested in IE and FF).

But, when a new user registers, they are sent back to the SignUp page and IE displays a popup Webpage Error of:

Do you want to debug this webpage?
This webpage contains errors that might prevent it from displaying or working correctly. If you are not testing this webpage, click No
Line: 232
Error: Unable to get property 'parentNode' of the undefined or null reference

When I click on "Yes" line 232 is marked in yellow:
userNameRequiredMessage.parentNode.appendChild(err orMessage);
and the Console says:
SCRIPT5007: Unable to get property 'parentNode' of undefined or null reference
SignUp.aspx, line 232 character 5

I guess the control is no longer available to the page after successful registration; the message of "Complete
Your account has been successfully created. " is displayed when the error happens.

I am not sure how to fix this issue and I was wondering if somebody could help me please.

-------------

My SignUp.aspx has the following:
<%@ Page Title="Sign Up for a New User Account at Planet Wrox" Language="C#" MasterPageFile="~/MasterPages/Frontend.master" AutoEventWireup="true" CodeFile="SignUp.aspx.cs" Inherits="_SignUp" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="cpMainContent" Runat="Server">

<asp:CreateUserWizard ID="CreateUserWizard1" runat="server" MailDefinition-BodyFileName="~/App_Data/SignUpConfirmation.txt" MailDefinition-Subject="Your New Account at Planet.Wrox.com" ClientIDMode="Static">
<WizardSteps>
<asp:CreateUserWizardStep ID="CreateUserWizardStep1" runat="server">
</asp:CreateUserWizardStep>
<asp:CompleteWizardStep ID="CompleteWizardStep1" runat="server">
</asp:CompleteWizardStep>
</WizardSteps>
</asp:CreateUserWizard>

<script type="text/javascript">
var userNameTextBox = $get('UserName');
var userNameRequiredMessage = $get('UserNameRequired');
var errorMessage = document.createElement('span');
errorMessage.style.visibility = 'hidden';
errorMessage.style.color = 'red';
errorMessage.innerHTML = 'User name already taken';
userNameRequiredMessage.parentNode.appendChild(err orMessage);
// add a handler to call the UserNameExists function when the userNameTextBox looses focus:
$addHandler(userNameTextBox, 'blur', UserNameExists);

function UserNameExists() {
var userName = userNameTextBox.value;
// call the page method in the code behind file on the server to check if the user already exists in the DB
PageMethods.UserNameExists(userName, UserNameExistsCallback);
}

function UserNameExistsCallback(result) {
errorMessage.style.visibility = result ? 'visible' : 'hidden';
}
</script>
</asp:Content>

----------------

My SignUp.aspx.cs has the following:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using System.Web.Security;
using System.Web.Services;

public partial class _SignUp : BasePage
{
protected void Page_Load(object sender, EventArgs e)
{

}

[WebMethod]
public static bool UserNameExists(string yourName)
{
return Membership.GetUser(yourName) != null;
}
}
Reply With Quote
  #2 (permalink)  
Old May 5th, 2013, 06:20 AM
Imar's Avatar
Wrox Author
Points: 72,073, Level: 100
Points: 72,073, Level: 100 Points: 72,073, Level: 100 Points: 72,073, Level: 100
Activity: 100%
Activity: 100% Activity: 100% Activity: 100%
 
Join Date: Jun 2003
Location: Utrecht, Netherlands.
Posts: 17,089
Thanks: 80
Thanked 1,587 Times in 1,563 Posts
Default

Hi there,

Either redirect to another page or add a check for null in the code that gets a reference to the fields:

Code:
var userNameTextBox = $get('UserName');
    var userNameRequiredMessage = $get('UserNameRequired');
if (userNameRequiredMessage != null)
{
  // rest of your code here
}
Cheers,

Imar
__________________
Imar Spaanjaars
http://Imar.Spaanjaars.Com
Follow me on Twitter

Author of Beginning ASP.NET 4.5 : in C# and VB, Beginning ASP.NET Web Pages with WebMatrix
and Beginning ASP.NET 4 : in C# and VB.
Did this post help you? Click the button below this post to show your appreciation!
Reply With Quote
  #3 (permalink)  
Old May 5th, 2013, 07:21 AM
Registered User
Points: 30, Level: 1
Points: 30, Level: 1 Points: 30, Level: 1 Points: 30, Level: 1
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%
 
Join Date: May 2013
Posts: 7
Thanks: 0
Thanked 0 Times in 0 Posts
Default

Thanks Imar, it worked
Reply With Quote
  #4 (permalink)  
Old June 24th, 2013, 01:06 PM
Registered User
Points: 24, Level: 1
Points: 24, Level: 1 Points: 24, Level: 1 Points: 24, Level: 1
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%
 
Join Date: Oct 2011
Posts: 5
Thanks: 3
Thanked 1 Time in 1 Post
Default 'UserNameRequired' property

Hi Imar,

In your code below on NOTE of p596

var userNameTextBox = $get('UserName');
var userNameRequiredMessage = $get('UserNameRequired');
if (userNameRequiredMessage != null)
{
// rest of your code here
}
......


I can see the 'UserName' in CreateUserWizard1 properties, but I can not see 'UserNameRequired' anywhere in the properties. I see the property of 'UserNameRequirederrorMessage' there. They are not the same....

Can you tell me how I can see this 'UserNameRequired' property?

Thanks.

Han
Reply With Quote
  #5 (permalink)  
Old June 24th, 2013, 02:48 PM
Imar's Avatar
Wrox Author
Points: 72,073, Level: 100
Points: 72,073, Level: 100 Points: 72,073, Level: 100 Points: 72,073, Level: 100
Activity: 100%
Activity: 100% Activity: 100% Activity: 100%
 
Join Date: Jun 2003
Location: Utrecht, Netherlands.
Posts: 17,089
Thanks: 80
Thanked 1,587 Times in 1,563 Posts
Default

Hi there,

UserNameRequired is the control created by ASP.NET to display the error message held by UserNameRequirederrorMessage. You typically don't need to access this control directly from an ASPX page.

If you do have the need, open the wizard's Smart Task Panel and click Customize Create User Step.

Hope this helps,

Imar
__________________
Imar Spaanjaars
http://Imar.Spaanjaars.Com
Follow me on Twitter

Author of Beginning ASP.NET 4.5 : in C# and VB, Beginning ASP.NET Web Pages with WebMatrix
and Beginning ASP.NET 4 : in C# and VB.
Did this post help you? Click the button below this post to show your appreciation!
Reply With Quote
The Following User Says Thank You to Imar For This Useful Post:
SunsetFlorida (June 24th, 2013)
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
thank you note masterlayouts BOOK: Beginning Database Design Solutions ISBN: 978-0-470-38549-4 1 July 22nd, 2012 11:19 AM
XnaPong ball movement note jedifreeman BOOK: Professional XNA Programming 2nd Edition ISBN: 978-0-470-26128-6 0 May 11th, 2008 03:01 PM
Just a quick note rocky2083 Wrox Book Feedback 0 December 19th, 2004 06:04 PM
ActiveX Controls - Calendar Control, Note/Memo Con twsinc Access VBA 9 February 29th, 2004 07:51 AM



All times are GMT -4. The time now is 07:06 AM.


Powered by vBulletin®
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
© 2013 John Wiley & Sons, Inc.