Ответы:
Вы можете просто использовать ContentResult
для возврата простой строки:
public ActionResult Temp() {
return Content("Hi there!");
}
ContentResult
по умолчанию возвращает a в text/plain
качестве своего contentType . Это перегружается, поэтому вы также можете сделать:
return Content("<xml>This is poorly formatted xml.</xml>", "text/xml");
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/… )
Вы также можете просто вернуть строку, если знаете, что это единственное, что метод когда-либо вернет. Например:
public string MyActionName() {
return "Hi there!";
}
return
заявлений , которые используются для отправки либо string
или JSON
или на View
основании условий , то мы должны использовать , Content
чтобы вернуть строку.
public ActionResult GetAjaxValue()
{
return Content("string value");
}
Начиная с 2020 года, использование ContentResult
все еще является правильным подходом, как предложено выше , но использование выглядит следующим образом:
return new System.Web.Mvc.ContentResult
{
Content = "Hi there! ☺",
ContentType = "text/plain; charset=utf-8"
}
есть 2 способа вернуть строку из контроллера в представление
первый
вы можете вернуть только строку, но она не будет включена в html файл, так как в браузере появится строка jus
второй
может вернуть строку как объект View Result
вот примеры кода для этого
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);
}
}
в файл представления для запуска AutoProperty он будет перенаправлять вас Результат вид и будет посылать ей
код для зрения
<!--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>
я запускаю его по адресу http: // localhost: 60227 / Home / AutoProperty