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

497
Vistas
HttpContext.Request.Form lanzó una excepción de tipo 'System.InvalidOperationException', ¿por qué?

Tengo un problema extraño. Usamos C# para una aplicación ASP.NET MVC y JavaScript con jQuery y tablas de datos para la interfaz. En la interfaz, una parte del código se ve así:

 table: "#restapiusers", ajax: { create: { url: "/restapiuser/RegisterUser" }, edit: { url: "/restapiuser/EditUser" } },

La cuestión es que, aunque ambos puntos finales, RegisterUser y EditUser, pasan la carga útil de la misma manera, solo funciona EditUser.

 [HttpPost] public async Task<JsonResult> RegisterUser(RestApi_UserModel user_short) { var param = HttpContext.Request.Form.Keys.FirstOrDefault();

Cuando configuro un punto de interrupción en la línea anterior y muevo el cursor del mouse sobre "Formulario", dice que HttpContext.Request.Form lanzó una excepción del tipo 'System.InvalidOperationException'.

El comienzo de EditUser se ve exactamente igual y ahí no ocurre el error. Estoy desconcertado de cómo esto es posible.

about 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

En uno de los archivos de código había el siguiente texto:

 // Defaults for DT-Editor for all future instances $.extend(true, $.fn.dataTable.Editor.defaults, { ajax: { create: { type: 'POST', //*** contentType: "application/json", //*** dataType: 'json', data: function (d) { d = JSON.stringify(Object.values(d.data)) console.info("Payload", d); return d }, }, edit: { type: 'POST', //contentType: "application/json", //dataType: 'json', data: function (d) { d = JSON.stringify(Object.values(d.data)) console.info("Payload", d); return d }, } }, idSrc: 'id', });

Comenté las líneas que marqué con "***" y ahora funciona. Aparentemente, el tipo de contenido no debe ser "aplicación/json" para que los datos se pasen a través de la primera clave o la clave predeterminada del formulario.

about 4 years ago · Santiago Trujillo Denunciar

0

Cambiar Request.Form a Request.Query

 public async Task<JsonResult> RegisterUser(RestApi_UserModel user_short) { var param = HttpContext.Request.Query.Keys.FirstOrDefault(); }```
about 4 years ago · Santiago Trujillo 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