protected void registerUsernameValidate(object source, ServerValidateEventArgs args) { string username = registerUsername.Text; if (string.IsNullOrEmpty(username)) { return; } // set select sql RegisterSqlDataSource.SelectCommand = "SELECT COUNT(*) from [user] WHERE [username]=@username"; // set select parameter RegisterSqlDataSource.SelectParameters.Clear(); RegisterSqlDataSource.SelectParameters.Add("@username", username); // execute select command int count = (int)((DataView)RegisterSqlDataSource.Select(DataSourceSelectArguments.Empty))[0][0]; if (count == 0) { // no same username args.IsValid = true; } else { args.IsValid = false; registerUsernameDuplicateValidator.ErrorMessage = "This username has already been registered, try another"; } }
protected void registerBtn_Click(object sender, EventArgs e) { if (Page.IsValid) { // get register data from page forms string username = registerUsername.Text; string password = registerPassword.Text; string email = registerEmail.Text; string gender = genderRadioButtonList.SelectedValue; string profession = professionDropDownList.SelectedValue; string age = registerAge.Text; List <string> favoriteCatBreeds = new List <string>(); foreach (ListItem item in registerFavoriteCatBreeds.Items) { if (item.Selected) { // item ... favoriteCatBreeds.Add(item.Value); } } string favoriteCatBreedsStr = string.Join(",", favoriteCatBreeds.ToArray()); string motto = registerMotto.Text; bool ownCats = ownCatCheckbox.Checked; string userProtrialUrl = registerPortraitPreview.ImageUrl; // set insert sql RegisterSqlDataSource.InsertCommand = "INSERT INTO [user] " + "([username], [password], [gender], [profession], [interests], [own_cats], [email], [usericon], [motto], [age]) " + "VALUES " + "([@username], [@password], [@gender], [@profession], [@interests], [@own_cats], [@email], [@usericon], [@motto], [@age])"; RegisterSqlDataSource.InsertParameters.Clear(); RegisterSqlDataSource.InsertParameters.Add("@username", username); RegisterSqlDataSource.InsertParameters.Add("@password", password); RegisterSqlDataSource.InsertParameters.Add("@gender", gender); RegisterSqlDataSource.InsertParameters.Add("@profession", profession); RegisterSqlDataSource.InsertParameters.Add("@interests", favoriteCatBreedsStr); RegisterSqlDataSource.InsertParameters.Add("@own_cats", DbType.Boolean, ownCats ? "true" : "false"); RegisterSqlDataSource.InsertParameters.Add("@email", email); RegisterSqlDataSource.InsertParameters.Add("@usericon", userProtrialUrl); RegisterSqlDataSource.InsertParameters.Add("@motto", motto); RegisterSqlDataSource.InsertParameters.Add("@age", DbType.Int32, age); RegisterSqlDataSource.Insert(); Response.Redirect("/Login.aspx"); } }