asp.net-mvc - net - imagen en actionlink
En MVC, ¿cómo devuelvo un resultado de cadena? (5)
Hay 2 formas de devolver una cadena desde el controlador a la vista
primero
puede devolver solo la cadena pero no se incluirá en el archivo html, solo se mostrará en el navegador.
segundo
podría devolver una cadena como objeto de Ver Resultado
Aquí están los ejemplos de código 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 la propiedad automática , lo redireccionará a la vista de resultados 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/Home/AutoProperty
En mi llamada AJAX, quiero devolver un valor de cadena a la página de llamada.
¿Debo usar ActionResult
o simplemente devolver una cadena?
Solo puede usar ContentResult
para devolver una cadena simple:
public ActionResult Temp() {
return Content("Hi there!");
}
ContentResult
por defecto devuelve un text/plain
como su contentType . Esto es recargable por lo que también puede hacer:
return Content("<xml>This is poorly formatted xml.</xml>", "text/xml");
También puede devolver una cadena si sabe que eso es lo único que devolverá el método. Por ejemplo:
public string MyActionName() {
return "Hi there!";
}
public ActionResult GetAjaxValue()
{
return Content("string value");
}
public JsonResult GetAjaxValue()
{
return Json("string value", JsonRequetBehaviour.Allowget);
}