ZetCode

ASP.NET 内容

最后修改于 2025 年 4 月 3 日

在本文中,我们将探讨 ASP.NET 8 中的 Content 方法。此方法用于在 Web 应用程序中返回具有特定 MIME 类型的内​​容响应。

ASP.NET 是一个用于构建现代 Web 应用程序的跨平台框架。Content 方法提供了一种简单的方式来从控制器操作返回各种内容类型。

基本定义

ASP.NET 中的 Content 方法返回一个 ContentResult 对象,该对象将内容呈现给响应。它允许指定内容、内容类型和编码。

此方法是 ASP.NET MVC 和 Web API 中 Controller 基类的一部分。当您需要返回纯文本、HTML、XML 或其他内容类型时,通常会使用它。

Content 方法在响应生成方面提供了灵活性。它可以用于简单的文本响应,或者在构建其他结果类型未涵盖的自定义内容类型时使用。

ASP.NET 内容示例

以下示例演示了 ASP.NET 控制器中 Content 方法的各种用法。

Program.cs
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllersWithViews();

var app = builder.Build();

app.MapControllers();
app.Run();

这会设置一个具有控制器支持的基本 ASP.NET 应用程序。AddControllersWithViews 方法启用了包括视图在内的 MVC 功能。

Controllers/ContentController.cs
using Microsoft.AspNetCore.Mvc;

public class ContentController : Controller
{
    [HttpGet("plain")]
    public IActionResult PlainText()
    {
        return Content("This is plain text content", "text/plain");
    }

    [HttpGet("html")]
    public IActionResult HtmlContent()
    {
        var html = @"<html>
            <body>
                <h1>HTML Content</h1>
                <p>This is HTML content returned from ASP.NET</p>
            </body>
        </html>";
        
        return Content(html, "text/html");
    }

    [HttpGet("xml")]
    public IActionResult XmlContent()
    {
        var xml = @"<?xml version=""1.0"" encoding=""UTF-8""?>
            <note>
                <to>User</to>
                <from>Server</from>
                <message>This is XML content</message>
            </note>";
            
        return Content(xml, "application/xml");
    }

    [HttpGet("custom")]
    public IActionResult CustomContent()
    {
        var csv = "Id,Name,Price\n1,Laptop,999.99\n2,Mouse,19.99";
        return Content(csv, "text/csv");
    }

    [HttpGet("encoded")]
    public IActionResult EncodedContent()
    {
        return Content("Special characters: & < >", "text/plain", 
            System.Text.Encoding.UTF8);
    }
}

此控制器演示了 Content 方法的五种不同场景。每个操作都返回不同的内容类型,并带有适当的 MIME 类型。

第一个操作以“text/plain”内容类型返回纯文本。第二个操作以“text/html”类型返回 HTML 内容。第三个操作返回 XML 数据。

第四个操作展示了返回自定义内容类型(CSV)。第五个操作演示了为内容指定编码,这对于特殊字符很重要。

每个操作都可以通过不同的路由(/plain、/html、/xml 等)访问。Content 方法可确保在响应中正确设置 Content-Type 标头。

来源

Microsoft ASP.NET Web API 文档

在本文中,我们探讨了 ASP.NET 8 中的 Content 方法。这种多功能方法可精确控制响应内容类型和格式。

作者

我叫 Jan Bodnar,我是一名充满热情的程序员,拥有丰富的编程经验。我自 2007 年以来一直在撰写编程文章。迄今为止,我已撰写了 1,400 多篇文章和 8 本电子书。我在编程教学方面拥有十年以上的经验。

列出所有 ASP.NET 教程