In meinem AJAX-Aufruf möchte ich einen Zeichenfolgenwert an die aufrufende Seite zurückgeben.
Soll ich ActionResult
einen String verwenden oder einfach zurückgeben?
asp.net-mvc
ajax
actionresult
user67033
quelle
quelle
Antworten:
Sie können einfach die verwenden
ContentResult
, um eine einfache Zeichenfolge zurückzugeben:ContentResult
Standardmäßig wird atext/plain
als Inhaltstyp zurückgegeben . Dies ist überladbar, sodass Sie auch Folgendes tun können:quelle
ContentResult
tutif (!String.IsNullOrEmpty(ContentType))
vor EinstellungHttpContext.Response.ContentType
. Ich sehetext/html
mit Ihrem ersten Beispiel, entweder ist dies jetzt die Standardeinstellung oder es ist eine fundierte Vermutung derHttpContext
.MediaTypeNames.Text.Plain
oder verwendenMediaTypeNames.Text.Xml
. Obwohl es nur einige der am häufigsten verwendeten MIME-Typen enthält. ( docs.microsoft.com/en-us/dotnet/api/… )Sie können auch nur einen String zurückgeben, wenn Sie wissen, dass dies das einzige ist, was die Methode jemals zurückgeben wird. Zum Beispiel:
quelle
return
Aussagen , die verwendet werden , entweder zu sendenstring
oderJSON
oderView
basierend auf Bedingungen , dann müssen wir verwendenContent
zurückzukehren String.quelle
quelle
Ab 2020 ist die Verwendung
ContentResult
immer noch der richtige Ansatz, wie oben vorgeschlagen , aber die Verwendung ist wie folgt:quelle
Es gibt zwei Möglichkeiten, eine Zeichenfolge vom Controller zur Ansicht zurückzugeben
zuerst
zweite
Hier sind die Codebeispiele, um dies zu tun
im Hinblick Datei ausführen AutoProperty wird es Sie umleiten Ergebnis Ansicht und senden s
Code - Ansicht
quelle