В моем вызове AJAX я хочу вернуть строковое значение обратно на страницу вызова.
Должен ли я использовать ActionResult
или просто вернуть строку?
asp.net-mvc
ajax
actionresult
user67033
источник
источник
Ответы:
Вы можете просто использовать
ContentResult
для возврата простой строки:ContentResult
по умолчанию возвращает a вtext/plain
качестве своего contentType . Это перегружается, поэтому вы также можете сделать:источник
ContentResult
делаетсяif (!String.IsNullOrEmpty(ContentType))
до установкиHttpContext.Response.ContentType
. Я вижуtext/html
на вашем первом примере, либо это по умолчанию сейчас, либо это обоснованное предположениеHttpContext
.MediaTypeNames.Text.Plain
илиMediaTypeNames.Text.Xml
. Хотя он включает только некоторые из наиболее часто используемых типов MIME. ( docs.microsoft.com/en-us/dotnet/api/… )Вы также можете просто вернуть строку, если знаете, что это единственное, что метод когда-либо вернет. Например:
источник
return
заявлений , которые используются для отправки либоstring
илиJSON
или наView
основании условий , то мы должны использовать ,Content
чтобы вернуть строку.источник
источник
Начиная с 2020 года, использование
ContentResult
все еще является правильным подходом, как предложено выше , но использование выглядит следующим образом:источник
есть 2 способа вернуть строку из контроллера в представление
первый
второй
вот примеры кода для этого
в файл представления для запуска AutoProperty он будет перенаправлять вас Результат вид и будет посылать ей
код для зрения
источник