asp.net-mvc - tag - pasar datos de una vista a un controlador c#
Cómo devolver un código de estado HTTP 200 desde el controlador ASP.NET MVC 3 (4)
200 es solo el encabezado HTTP normal para una solicitud exitosa. Si eso es todo lo que necesita, simplemente haga que el controlador return new EmptyResult();
Estoy escribiendo una aplicación que acepta datos POST de un servicio externo.
Cuando estos datos se envían por correo postal, debo devolver un código de estado HTTP 200.
¿Cómo puedo hacer esto desde mi controlador?
En su controlador, usted devolvería un HttpStatusCodeResult así ...
[HttpPost]
public ActionResult SomeMethod(...your method parameters go here...)
{
// todo: put your processing code here
//If not using MVC5
return new HttpStatusCodeResult(200);
//If using MVC5
return new HttpStatusCodeResult(HttpStatusCode.OK); // OK = 200
}
Simplemente puede establecer el código de estado de la respuesta a 200 como el siguiente
public ActionResult SomeMethod(parameters...)
{
//others code here
...
Response.StatusCode = 200;
return YourObject;
}
[HttpPost]
public JsonResult ContactAdd(ContactViewModel contactViewModel)
{
if (ModelState.IsValid)
{
var job = new Job { Contact = new Contact() };
Mapper.Map(contactViewModel, job);
Mapper.Map(contactViewModel, job.Contact);
_db.Jobs.Add(job);
_db.SaveChanges();
//you do not even need this line of code,200 is the default for ASP.NET MVC as long as no exceptions were thrown
//Response.StatusCode = (int)HttpStatusCode.OK;
return Json(new { jobId = job.JobId });
}
else
{
Response.StatusCode = (int)HttpStatusCode.BadRequest;
return Json(new { jobId = -1 });
}
}