Ok i have two Webmethods on my default page which are both working just fine. Now I just took the same code and modified it just enough to fit my next webmethod on another page and it is not getting to the webmethod from the Jquery I cannot figure out why. it is drving me insane. I did find out that the variables all have to be lowercase on both ends but cant figure out what else is going on.
here is my Jquery
function CreateNUser() {
// Add the page method call as an onclick handler for the div.
var username = document.getElementById('UserName').value;
var password = document.getElementById('Password').value;
var firstname = document.getElementById('FirstName').value;
var lastname = document.getElementById('LastName').value;
var email = document.getElementById('Email').value;
var passquestion = document.getElementById('SecurityQuestion').value;
var passanswer = document.getElementById('SecurityAnswer').value;
$.ajax({
type: "POST",
url: "CreateUser.aspx/CreateNewUser",
data: "{username: " + username + ", password: " + password + ", firstname: " + firstname + ", lastname: " + lastname + ",email: " + email + ",passquestion: " + passquestion + ",passanswer: " + passanswer + "}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
if (msg.d != 'false')
$("#like" + id).text(msg.d);
}
});
}
Here is my WebMethod of my codebehind what little insignificant mistake am i forgetting
[WebMethod]
public static string CreateNewUser(string username,string password, string firstname,string lastname,string email,string passquestion,string passanswer)
{
string status = string.Empty;
string Pass1 = string.Empty;
string Pass2 = string.Empty;
string Answer1 = string.Empty;
string Answer2 = string.Empty;
char[] PassArray1;
char[] PassArray2;
char[] AnswerArray1;
char[] AnswerArray2;
PassArray1 = password.ToCharArray(0, (password.Length - 3));
PassArray2 = password.ToCharArray((password.Length - 3), 3);
Pass1 = PassArray1.ToString();
Pass2 = PassArray2.ToString();
AnswerArray1 = passanswer.ToCharArray(0, (passanswer.Length - 3));
AnswerArray2 = passanswer.ToCharArray((passanswer.Length - 3), 3);
Answer1 = AnswerArray1.ToString();
Answer2 = AnswerArray2.ToString();
if (password.Length > 20)
{
status += "password Length too long: <br />";
}
if (username.Length > 15)
{
status += "username Length too long: <br />";
}
if (firstname.Length > 15)
{
status += "First Name Length too long: <br />";
}
if (lastname.Length > 15)
{
status += "Last Name Length too long: <br />";
}
if (email.Length > 50)
{
status += "Email Length too long: <br />";
}
if (passquestion.Length > 256)
{
status += "Security Question Length too long: <br />";
}
if (passanswer.Length > 128)
{
status += "Security Answer Length too long: <br />";
}
if (status == string.Empty)
{
SqlConnection conn = new SqlConnection(CS);
string val = string.Empty;
SqlCommand ocommand = new SqlCommand("CreateNewUser", conn);
ocommand.CommandType = CommandType.StoredProcedure;
SqlParameter d = new SqlParameter();
ocommand.Parameters.Add(new SqlParameter("@username", username));
ocommand.Parameters.Add(new SqlParameter("@password", Pass1));
ocommand.Parameters.Add(new SqlParameter("@firstname", firstname));
ocommand.Parameters.Add(new SqlParameter("@LastName", lastname));
ocommand.Parameters.Add(new SqlParameter("@Email", email));
ocommand.Parameters.Add(new SqlParameter("@IsApproved", true));
ocommand.Parameters.Add(new SqlParameter("@passwordQuestion", passquestion));
ocommand.Parameters.Add(new SqlParameter("@passwordAnswer", Answer1));
ocommand.Parameters.Add(new SqlParameter("@passwordAnswer2", Answer2));
ocommand.Parameters.Add(new SqlParameter("@password2", Pass2));
//ocommand.Parameters.Add(new SqlParameter("@Ipaddress", "127.0.0.1"));
try
{
conn.Open();
ocommand.ExecuteNonQuery();
}
catch (Exception ee)
{
status = "Sorry an unexpected Error occured";
}
finally
{
conn.Close();
conn.Dispose();
}
}
return status;
}