ASP.NET Web APIからHTMLを返す 質問する

ASP.NET Web APIからHTMLを返す 質問する

ASP.NET MVC Web API コントローラーから HTML を返す方法は?

以下のコードを試しましたが、Response.Write が定義されていないためコンパイル エラーが発生しました。

public class MyController : ApiController
{
    [HttpPost]
    public HttpResponseMessage Post()
    {
        Response.Write("<p>Test</p>");
        return Request.CreateResponse(HttpStatusCode.OK);
    }
 }

ベストアンサー1

ASP.NET Core。アプローチ 1

コントローラーが拡張されている場合ControllerBase、またはメソッドControllerを使用できますContent(...):

[HttpGet]
public ContentResult Index() 
{
    return base.Content("<div>Hello</div>", "text/html");
}

ASP.NET Core。アプローチ 2

クラスから拡張しないことを選択した場合はController、新しい を作成できますContentResult

[HttpGet]
public ContentResult Index() 
{
    return new ContentResult 
    {
        ContentType = "text/html",
        Content = "<div>Hello World</div>"
    };
}

レガシー ASP.NET MVC Web API

メディアタイプで文字列コンテンツを返しますtext/html:

public HttpResponseMessage Get()
{
    var response = new HttpResponseMessage();
    response.Content = new StringContent("<div>Hello World</div>");
    response.Content.Headers.ContentType = new MediaTypeHeaderValue("text/html");
    return response;
}

おすすめ記事