Відповіді:
Ви можете просто скористатися 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-файлу, вона з'явиться в браузері
другий
може повернути рядок як об'єкт результату перегляду
ось зразки коду для цього
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 він перенаправить вас на перегляд Result і надішле
код s
для перегляду
<!--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