Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

199
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda