Risposte:
Puoi semplicemente usare il ContentResultper restituire una stringa semplice:
public ActionResult Temp() {
return Content("Hi there!");
}
ContentResultper impostazione predefinita restituisce a text/plaincome contentType . Questo è sovraccarico, quindi puoi anche fare:
return Content("<xml>This is poorly formatted xml.</xml>", "text/xml");
ContentResultfa if (!String.IsNullOrEmpty(ContentType))prima di impostare HttpContext.Response.ContentType. Sto vedendo text/htmlcon il tuo primo esempio, o è quello predefinito ora o è un'ipotesi istruita da parte di HttpContext.
MediaTypeNames.Text.Plaino MediaTypeNames.Text.Xml. Sebbene includa solo alcuni dei tipi MIME più utilizzati. ( docs.microsoft.com/en-us/dotnet/api/… )
Puoi anche restituire la stringa solo se sai che è l'unica cosa che il metodo potrà mai restituire. Per esempio:
public string MyActionName() {
return "Hi there!";
}
returnistruzioni utilizzate per inviare una stringo JSONo in Viewbase a condizioni, è necessario utilizzare Contentper restituire la stringa.
public ActionResult GetAjaxValue()
{
return Content("string value");
}
A partire dal 2020, l'utilizzo ContentResultè ancora l'approccio giusto come proposto sopra , ma l'utilizzo è il seguente:
return new System.Web.Mvc.ContentResult
{
Content = "Hi there! ☺",
ContentType = "text/plain; charset=utf-8"
}
esiste un modo 2 per restituire una stringa dal controller alla vista
primo
potresti restituire solo una stringa ma non sarai incluso nel file html, apparirà solo una stringa nel browser
secondo
potrebbe restituire una stringa come oggetto di Visualizza risultato
ecco gli esempi di codice per farlo
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);
}
}
nel file di visualizzazione per eseguire AutoProperty ti reindirizzerà alla vista dei risultati e invierà il
codice s alla vista
<!--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 eseguo a eseguo http: // localhost: 60227 / Home / AutoProperty