W moim wywołaniu AJAX chcę zwrócić wartość ciągu z powrotem na stronę wywołującą.
Czy powinienem użyć ActionResult
czy po prostu zwrócić ciąg?
asp.net-mvc
ajax
actionresult
użytkownik67033
źródło
źródło
Odpowiedzi:
Możesz po prostu użyć,
ContentResult
aby zwrócić zwykły ciąg:ContentResult
domyślnie zwraca atext/plain
jako swój contentType . Jest to przeciążalne, więc możesz także:źródło
ContentResult
jest znanaif (!String.IsNullOrEmpty(ContentType))
przed ustawieniemHttpContext.Response.ContentType
. Widzętext/html
z twoim pierwszym przykładem, który jest teraz domyślny, lub jest wykształconym zgadywaniemHttpContext
.MediaTypeNames.Text.Plain
lubMediaTypeNames.Text.Xml
. Chociaż zawiera tylko niektóre z najczęściej używanych typów MIME. ( docs.microsoft.com/en-us/dotnet/api/… )Możesz również zwrócić ciąg znaków, jeśli wiesz, że to jedyna rzecz, jaką metoda kiedykolwiek zwróci. Na przykład:
źródło
return
twierdzeń, które są używane do wysyłania albostring
alboJSON
alboView
oparta na warunkach wtedy musimy użyćContent
, aby powrócić ciąg.źródło
źródło
Począwszy od 2020 r. Używanie
ContentResult
jest nadal właściwym podejściem, jak zaproponowano powyżej , ale użycie jest następujące:źródło
istnieją 2 sposoby na zwrócenie ciągu z kontrolera do widoku
pierwszy
druga
oto przykłady kodu, aby to zrobić
w widoku plików do uruchomienia AutoProperty będzie przekierowanie do Result widok i wyśle e
kod do widzenia
źródło