I want to get selected Employee data by Id so a modal will pop up and show data for this Id. The Id parses as a parameter but asmx service won't fire at last. Here is client side code :
function getEmployeebyID(Id) {
$("#ModalTitle").html("Update Employee");
$("#MyModal").modal();
var Id = Id;
$.ajax({
url: "EmployeeService.asmx/GetEmployeeById",
type: "GET",
dataType: "json",
data: { Id: Id },
success: function (data) {
$('#txtFirstName').val(data[0].FirstName);
$('#txtLastName').val(data[0].LastName);
$('#txtGender').val(data[0].Gender);
$('#txtJobTitle').val(data[0].JobTitle);
$('#txtSalary').val(data[0].Salary);
$('#txtHireDate').val(data[0].HireDate);
},
error: function (errormessage) {
alert(errormessage.responseText);
}
});
return false;
}
Here is server side code :
[WebMethod]
public void GetEmployeeById(int Id)
{
Employee employee = new Employee();
string cs = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
using (SqlConnection con = new SqlConnection(cs))
{
SqlCommand cmd = new SqlCommand("spGetEmployeeById", con);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter parameter = new SqlParameter();
parameter.ParameterName = "@Id";
parameter.Value = Id;
cmd.Parameters.Add(parameter);
con.Open();
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
employee.Id = Convert.ToInt32(rdr["Id"]);
employee.FirstName = rdr["FirstName"].ToString();
employee.LastName = rdr["LastName"].ToString();
employee.Gender = rdr["Gender"].ToString();
employee.JobTitle = rdr["JobTitle"].ToString();
employee.Salary = Convert.ToInt32(rdr["Salary"]);
employee.HireDate = Convert.ToDateTime(rdr["HireDate"]);
}
}
JavaScriptSerializer js = new JavaScriptSerializer();
Context.Response.Write(js.Serialize(employee));
}
Server side code is working when I invoke data when I am running it,so the problem is on client side and throws this: request format is unrecognized for url unexpectedly ending in /GetEmployeeById As far as I inspected elements I saw this error : localhost:50791/Services/EmployeeService.asmx/GetEmployeeById?Id=42 500 (Internal Server Error). Can't figure out what's going on...