Dans mon appel AJAX, je souhaite renvoyer une valeur de chaîne à la page appelante.Dans MVC, comment puis-je renvoyer un résultat de chaîne?
Devrais-je utiliser ActionResult
ou simplement renvoyer une chaîne?
Dans mon appel AJAX, je souhaite renvoyer une valeur de chaîne à la page appelante.Dans MVC, comment puis-je renvoyer un résultat de chaîne?
Devrais-je utiliser ActionResult
ou simplement renvoyer une chaîne?
Vous pouvez simplement utiliser le ContentResult
pour retourner une chaîne de caractères:
public ActionResult Temp() {
return Content("Hi there!");
}
ContentResult
par défaut retourne un text/plain
comme contentType. Ceci est surchargeable donc vous pouvez aussi le faire:
return Content("<xml>This is poorly formatted xml.</xml>", "text/xml");
Vous pouvez également revenir juste chaîne si vous savez que est la seule chose que la méthode ne sera jamais revenir. Par exemple:
public string MyActionName() {
return "Hi there!";
}
Phil, est-ce une "meilleure pratique", pourriez-vous s'il vous plaît expliquer la différence entre votre réponse et @swilliam –
Vous ne pouvez pas retourner une chaîne à partir d'une méthode qui retourne un ActionResult, donc dans ce cas vous retournez Content ("") comme expliqué Swilliams. Si vous avez seulement besoin de renvoyer une chaîne, alors la méthode retournera une chaîne, comme l'a expliqué Phil. – Arkiliknam
En supposant que la même action ait plusieurs instructions 'return' qui sont utilisées pour envoyer' string' ou 'JSON' ou' View' selon les conditions, nous devons utiliser 'Content' pour retourner la chaîne. – DhruvJoshi
public ActionResult GetAjaxValue()
{
return Content("string value");
}
mieux expliquer plus pendant la réponse – Mostafiz
public JsonResult GetAjaxValue()
{
return Json("string value", JsonRequetBehaviour.Allowget);
}
il y a 2 façon de retourner une chaîne de contrôleur à la vue
premier
vous pouvez retourner la chaîne seulement, mais ne sera pas inclus dans html fichier il sera jus string apparaître dans le navigateur
seconde
pourrait retourner une chaîne comme objet de vue Résultat
est ici 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 en vue d'exécuter AutoProperty il vous dirigera vers Résultat vue et envoie de
code pour voir
<!--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 le lance à http://localhost:60227/Home/AutoProperty
check [ici] (http://stackoverflow.com/a/30323853/2218697) ** retourner le message d'alerte bootstrap ** – stom