Pregunta En MVC, ¿cómo devuelvo un resultado de cadena?


En mi llamada AJAX, quiero devolver un valor de cadena a la página de llamada.

Debería usar ActionResult o simplemente devuelve una cadena?


558
2018-02-16 17:44


origen


Respuestas:


Puedes usar el ContentResult para devolver una cadena simple:

public ActionResult Temp() {
    return Content("Hi there!");
}

ContentResult por defecto devuelve un text/plain como su tipo de contenido. Esto es sobrecargable, por lo que también puedes hacer:

return Content("<xml>This is poorly formatted xml.</xml>", "text/xml");

948
2018-02-16 17:47



También puede devolver una cadena si sabe que es lo único que devolverá el método. Por ejemplo:

public string MyActionName() {
  return "Hi there!";
}

105
2018-02-16 23:29



public ActionResult GetAjaxValue()
{
   return Content("string value");
}

5
2018-04-27 14:18



public JsonResult GetAjaxValue() 
{
  return Json("string value", JsonRequetBehaviour.Allowget); 
}

0
2018-05-16 12:45



hay 2 formas de devolver una cadena desde el controlador a la vista

primero

puede devolver solo una cadena, pero no se incluirá en html   archivo será jus cadena aparecerá en el navegador
 


segundo

podría devolver una cadena como objeto de Ver resultado

aquí está el código de muestras para hacer esto

public class HomeController : Controller
{
    // GET: Home
    // this will mreturn just string not html
    public string index()
    {
        return "URL to show";
    }

    public ViewResult AutoProperty()
    {   string s = "this is a string ";
        // name of view , object you will pass
         return View("Result", (object)s);

    }
}

en el archivo de vista para ejecutar Autopropiedad te redirigirá a Resultado ver y enviará s
código para ver

<!--this to make this file accept string as model-->
@model string

@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Result</title>
</head>
<body>
    <!--this is for represent the string -->
    @Model
</body>
</html>

Lo ejecuto en http: // localhost: 60227 / Inicio / AutoProperty


0
2018-06-10 16:58