CreateUserWizard - Custom Wizard Step Input into Stored Proc - How to Bind New TxtBoxes (C#)

Hi,

I am using the asp 2.0 Website Administration Tool to control user administration and I am using the createuserwizard to add new members into my site.  I want to have a custom wizard step that allows me to input user detail information (First Name, Last Name, Company, Phone Number).  I have a SQL 2005 table that this information should be entered into and an input stored proc to do the work.

 Where I am stuck: I have seen a bunch of examples ( including http://aspnet.4guysfromrolla.com/articles/070506-1.aspx) that do everything in the source code, including some inline sql.  I cannot do this.  I need to handle everything that can be through the wizard tool itself and/or C# code behind.  I have the step created, which includes the four labes and text boxes as well as the object data source, but I do not know how to bind the txt boxes to the data source.  I am new and having a hard time doing this without an example.

 Can anyone help?

Thanks,

AJ0424Asked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

keustermansCommented:
Below is a function that you can use to use a stored proc to send data to the database

function parameters are as follows

sql -  is a inline sql statement or a stored procedure name

commandtype - Sysytem.Data.CommandType.StoredProcedure for a stored procedure or Sysytem.Data.CommandType.Text for inline sql

Parameters is a Collection of SqlParameters

This function is part of a class that I have writtens so connectionString is iniialized when I create an instance of the class and you will have to replace the factory calls with your own code.

This should be enough to get you going
      public int ExecuteNonQuery(string sql, CommandType commandType, 
                                   IDataParameterCollection parameters)
        {
            bool externalConnection = false;
            IDbConnection connection = null;
            try
            {
                
                connection = factory.CreateConnection();
                connection.ConnectionString = connectionString;
                
                IDbCommand command = factory.CreateCommand();
                command.CommandType = commandType;
                command.CommandText = sql;
 
                if (parameters != null)
                {
                    foreach (IDataParameter param in parameters)
                    {
                        command.Parameters.Add(param);
                    }
                }
                command.Connection = connection;
                if (connection.State == ConnectionState.Closed)
                {
                    connection.Open();
                }
 
                return command.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
 
                throw new Exception(ex.Message.ToString());
 
            }
            finally
            {
                if (connection.State == ConnectionState.Open)
                {
                    connection.Close();
                    connection.Dispose();
                }
            }
        }

Open in new window

0
AJ0424Author Commented:
Thank you keustermans.  I will look at this tonight and see if I can make it work.

AJ
0
AJ0424Author Commented:
Hi...the problem I am having isn't connecting to the database, it is getting the user input out of the textboxes in this wizard.  I need to collect the entered data - example:

John
Smith
ABC Company
333-555-1212

and then send that info back as the parameters for my stored proc.  I just don't know how to pull it out of the createuser wizard.

Thanks,
AJ
0
AJ0424Author Commented:
I was using the wrong step.  Once I corrected, the code worked fine.
        protected void CreateUserWizard1_FinishButtonClick(object sender, WizardNavigationEventArgs e)
        {
 
            string firstName = GetUserData("txtFName");
            string lastName = GetUserData("txtLName");
            string company = GetUserData("txtCompany");
            string phone = GetUserData("txtPhone");
 
            TextBox UserName = (TextBox)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("UserName");
            string username = UserName.Text;

Open in new window

0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
.NET Programming

From novice to tech pro — start learning today.