hello,
please help me to solve this issue, the parameter employeesViewModel inside function gives me null reference exception
pleaes see the below code
public IHttpActionResult GetEmployees(EmployeesViewModel employeesViewModel)
{
using (SqlConnection con = new SqlConnection(cs))
{
List<EmployeesViewModel> employees = new List<EmployeesViewModel>();
int filteredcount = 0;
using (SqlCommand cmd = new SqlCommand("GetEmployees", con))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@ID", string.IsNullOrWhiteSpace(employeesViewModel.Name) ? null : employeesViewModel.Name);
cmd.Parameters.AddWithValue("@NAME", string.IsNullOrWhiteSpace(employeesViewModel.Id.ToString()) ? null : employeesViewModel.Id.ToString());
con.Open();
using (SqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
EmployeesViewModel employee = new EmployeesViewModel();
employee.TotalCountOfEmployees = Convert.ToInt32(reader["TOTALCOUNT"]);
employee.Id = Convert.ToInt32(reader["Id"]);
employee.Name = reader["Name"].ToString();
employee.Salary = Convert.ToInt32(reader["Salary"]);
employee.Overtime = Convert.ToInt32(reader["Overtime"]);
employees.Add(employee);
}
}
}
var result = new
{
iTotalRecords = _context.Employees.Count(),
iTotalDisplayRecord = filteredcount,
aaData = employees
};
JavaScriptSerializer js = new JavaScriptSerializer();
var JsonResult = js.Serialize(result);
return Ok(JsonResult);
}
}
and Index.cshtml
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<div class="row">
<div class="form-group">
<div class="col-sm-3">
<input type="text" id="txtId" class="form-control" />
</div>
<div class="col-sm-3">
<input type="text" id="txtName" class="form-control" />
</div>
<div class="col-sm-3">
<button id="btnSearch" class="btn btn-primary">Search</button>
</div>
</div>
</div>
@section scripts
{
<script type="text/javascript">
$(document).ready(function () {
$("#btnSearch").click(function () {
var employeeObject = {
Name: $("#txtName").val(),
Id: $("#txtId").val()
};
$.ajax({
type: 'get',
url: '/api/employees',
data: { employeesViewModel: JSON.stringify(employeeObject) },
dataType: "json",
contentType: 'application/json; charset=utf-8',
success: function (data) {
console.log(data);
},
failed: function (err) {
console.log(err);
}
});
});
});
</script>
};
thanks