Wie kann ich HTML vom ASP.NET MVC Web API-Controller zurückgeben?
Ich habe den folgenden Code ausprobiert, aber einen Kompilierungsfehler erhalten, da Response.Write nicht definiert ist:
public class MyController : ApiController
{
[HttpPost]
public HttpResponseMessage Post()
{
Response.Write("<p>Test</p>");
return Request.CreateResponse(HttpStatusCode.OK);
}
}
Antworten:
ASP.NET Core. Ansatz 1
Wenn Ihr Controller erweitert wird
ControllerBase
oderController
Sie die folgendeContent(...)
Methode verwenden können:ASP.NET Core. Ansatz 2
Wenn Sie nicht aus
Controller
Klassen erweitern möchten, können Sie neue erstellenContentResult
:Legacy-ASP.NET MVC-Web-API
String-Inhalt mit Medientyp zurückgeben
text/html
:quelle
[Produces]
Ansatz?Ab AspNetCore 2.0 wird in diesem Fall empfohlen,
ContentResult
anstelle desProduce
Attributs zu verwenden . Siehe: https://github.com/aspnet/Mvc/issues/6657#issuecomment-322586885quelle