Возвращают HTML-код от веб-ASP.NET API-интерфейс
Как вернуть HTML из ASP.NET MVC Web API controller?
я попробовал код ниже, но получил ошибку компиляции с момента ответа.Запись не определена:
public class MyController : ApiController
{
[HttpPost]
public HttpResponseMessage Post()
{
Response.Write("<p>Test</p>");
return Request.CreateResponse(HttpStatusCode.OK);
}
}
2 ответа:
вернуть HTML строку
возвращает содержимое строки с типом носителя
text/html
:public HttpResponseMessage Get() { var response = new HttpResponseMessage(); response.Content = new StringContent("<html><body>Hello World</body></html>"); response.Content.Headers.ContentType = new MediaTypeHeaderValue("text/html"); return response; }
ASP.NET ядро
самый простой способ-использовать фильтр" производит":
[Produces("text/html")] public string Get() { return "<html><body>Hello World</body></html>"; }
подробнее о можно найти здесь.
начиная с AspNetCore 2.0, рекомендуется использовать
ContentResult
вместо в этом случае. Смотрите: https://github.com/aspnet/Mvc/issues/6657#issuecomment-322586885Это не зависит ни от сериализации, ни от согласования контента.
[HttpGet] public ContentResult Index() { return new ContentResult { ContentType = "text/html", StatusCode = (int)HttpStatusCode.OK, Content = "<html><body>Hello World</body></html>" }; }