Как вернуть HTML из контроллера веб-API ASP.NET MVC?
Я попробовал приведенный ниже код, но получил ошибку компиляции, поскольку Response.Write не определен:
public class MyController : ApiController
{
[HttpPost]
public HttpResponseMessage Post()
{
Response.Write("<p>Test</p>");
return Request.CreateResponse(HttpStatusCode.OK);
}
}
Ответы:
ASP.NET Core. Подход 1
Если ваш контроллер расширяется
ControllerBase
илиController
вы можете использоватьContent(...)
метод:ASP.NET Core. Подход 2
Если вы решите не расширять
Controller
классы, вы можете создать новыеContentResult
:Устаревший веб-API ASP.NET MVC
Вернуть строковое содержимое с типом мультимедиа
text/html
:источник
[Produces]
подход?Начиная с AspNetCore 2.0, в этом случае рекомендуется использовать
ContentResult
вместоProduce
атрибута. См. Https://github.com/aspnet/Mvc/issues/6657#issuecomment-322586885источник