Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

195
Views
La lista siempre devuelve un valor nulo cuando se envía desde el controlador al índice

Ahora probé como 20 formas diferentes y busqué en Google el problema, pero todavía estoy atascado. Mi lista siempre devuelve un valor nulo. Cuando depuro, puedo ver que los valores provienen de la base de datos y todo parece estar bien.

Pero, cuando uso console.log para depurar en la vista, siempre es nulo.

Aquí está mi modelo :

 public class GarageModel { public int GarageId { get; set; } public int Values { get; set; } }

Método C# :

 public List <GarageModel> getRequestType(int garageId) { List<GarageModel> newList = new List<GarageModel>(); string sql = "SELECT GarageID, RequestProperty FROM GarageCrossRequestType WHERE GarageID = " + garageId; var cmd = new SqlCommand(sql, Connection); var dt = new DataTable(); dt.Load(cmd.ExecuteReader()); foreach (DataRow i in dt.Rows) { var model = new GarageModel(); model.GarageId = Convert.ToInt32(i["GarageID"].ToString()); model.Values = Convert.ToInt32(i["RequestProperty"].ToString()); newList.Add(model); } return newList; // returns the values from database }

Javascript/jQuery :

 function editGarage(e) { e.preventDefault(); var dataItem = this.dataItem($(e.currentTarget).closest("tr")); var garageId = dataItem.GarageId; countryId = dataItem.CountryId; name = dataItem.Name; customerNumberOfEditingGarage = dataItem.CustomerNumber; var Values = dataItem.Values; $.ajax({ type: 'POST', url: '@Url.Action("getRequestType", "Garage")?garageId=' + garageId, dataType: 'JSON', data: { Values: Values, garageId: garageId }, }); console.log(garageId, Values); // always return correct garageId but null in Values // or whatever value is set to Values in the model

¿Qué me estoy perdiendo?

Como dije, probé diferentes métodos, cambié los tipos entre get/post, cambié el método a bool, int, etcétera, pero estoy perdido y, sinceramente, no soy especialmente bueno en JavaScript/jQuery. tampoco, así que agradeceré cualquier ayuda que pueda obtener.

Para especificar, el resultado que me gustaría es simplemente ver los valores que obtengo del método/base de datos que se muestran cuando uso console.log para depurar en el navegador.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Su método getRequestType necesita solo un parámetro y values no son un parámetro, así que envíe solo garageId y debe completar values cuando su ajax tenga éxito

 $.ajax({ type: 'POST', url: '@Url.Action("getRequestType", "Garage")', dataType: 'JSON', data: { garageId: garageId }, success: function(data){ values = data; console.log(garageId, data); } });

Y el método del controlador debe devolver JsonResult en lugar de la lista

 public JsonResult /*List<GarageModel>*/ getRequestType ... return Json(newList, JsonRequestBehavior.AllowGet);
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!