Réponses:
Vous pouvez simplement utiliser le ContentResult
pour renvoyer une chaîne simple:
public ActionResult Temp() {
return Content("Hi there!");
}
ContentResult
par défaut renvoie a text/plain
comme contentType . Ceci est surchargeable, vous pouvez donc également faire:
return Content("<xml>This is poorly formatted xml.</xml>", "text/xml");
ContentResult
ne if (!String.IsNullOrEmpty(ContentType))
avant réglage HttpContext.Response.ContentType
. Je vois text/html
avec votre premier exemple, que ce soit la valeur par défaut maintenant ou c'est une supposition éclairée par le HttpContext
.
MediaTypeNames.Text.Plain
ou MediaTypeNames.Text.Xml
. Bien qu'il ne comprenne que certains des types MIME les plus utilisés. ( docs.microsoft.com/en-us/dotnet/api/… )
Vous pouvez également renvoyer une chaîne si vous savez que c'est la seule chose que la méthode retournera. Par exemple:
public string MyActionName() {
return "Hi there!";
}
return
instructions qui sont utilisées pour envoyer soit string
ou JSON
soit en View
fonction de conditions, nous devons utiliser Content
pour renvoyer une chaîne.
public ActionResult GetAjaxValue()
{
return Content("string value");
}
À partir de 2020, l'utilisation ContentResult
est toujours la bonne approche comme proposé ci - dessus , mais l'utilisation est la suivante:
return new System.Web.Mvc.ContentResult
{
Content = "Hi there! ☺",
ContentType = "text/plain; charset=utf-8"
}
il y a 2 façons de retourner une chaîne du contrôleur à la vue
première
vous pouvez renvoyer uniquement une chaîne mais ne sera pas inclus dans le fichier html ce sera la chaîne de jus apparaître dans le navigateur
seconde
pourrait renvoyer une chaîne en tant qu'objet du résultat de la vue
voici les exemples de code pour ce faire
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);
}
}
dans le fichier de vue pour exécuter AutoProperty, il vous redirigera vers la vue des résultats et enverra le
code s pour afficher
<!--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>
je l'exécute sur http: // localhost: 60227 / Accueil / AutoProperty