In meinem AJAX-Aufruf möchte ich einen Zeichenfolgenwert an die aufrufende Seite zurückgeben.In MVC, wie gebe ich ein String-Ergebnis zurück?
Sollte ich ActionResult
verwenden oder nur eine Zeichenfolge zurückgeben?
In meinem AJAX-Aufruf möchte ich einen Zeichenfolgenwert an die aufrufende Seite zurückgeben.In MVC, wie gebe ich ein String-Ergebnis zurück?
Sollte ich ActionResult
verwenden oder nur eine Zeichenfolge zurückgeben?
Sie können nur die ContentResult
verwenden einen einfachen String zurück:
public ActionResult Temp() {
return Content("Hi there!");
}
ContentResult
standardmäßig eine text/plain
als contentType zurückgibt. Dies ist überladbaren, so dass Sie auch tun können:
return Content("<xml>This is poorly formatted xml.</xml>", "text/xml");
Sie können auch nur String zurück, wenn Sie wissen, das ist das einzige, was das Verfahren jemals zurückkehren wird. Zum Beispiel:
public string MyActionName() {
return "Hi there!";
}
Phil, ist dies ein "Best Practice", können Sie bitte den Unterschied zwischen Ihrer Antwort und @swilliams –
erklären Sie können keine Zeichenfolge von einer Methode zurückgeben, die ein ActionResult zurückgibt, also in diesem Fall geben Sie Inhalt zurück ("") wie Swilliams erklärte. Wenn Sie nur eine Zeichenfolge zurückgeben müssen, dann würde die Methode eine Zeichenfolge zurückgeben, wie Phil erklärte. – Arkiliknam
Unter der Annahme, dass dieselbe Aktion mehrere 'return'-Anweisungen hat, die verwendet werden, um entweder 'string' oder' JSON' oder 'View' basierend auf Bedingungen zu senden, müssen wir' Content' verwenden, um die Zeichenfolge zurückzugeben. – DhruvJoshi
public ActionResult GetAjaxValue()
{
return Content("string value");
}
besser, um mehr während der Antwort zu erklären – Mostafiz
public JsonResult GetAjaxValue()
{
return Json("string value", JsonRequetBehaviour.Allowget);
}
gibt es 2 Wege einen String von der Steuerung zu der Ansicht
ersten
Sie nur String zurückgeben konnten aber nicht sein zurück in html Datei enthalten wird es Jus Zeichenfolge im Browser erscheinen
an zweiter Stelle
eine Zeichenfolge als Objekt der Ansicht Ergebnis zurückkehren konnte
hier ist die Code-Beispiele Diese Datei
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);
}
}
im Blick zu tun AutoProperty laufen wird es Sie umleiten zu Ergebnis Ansicht und s
Code
<!--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>
ich es bei http://localhost:60227/Home/AutoProperty
Prüfung durchführen können [hier] (http://stackoverflow.com/a/30323853/2218697) to ** Bootstrap Alarm Nachricht ** – stom