什么是asp.net mvc中的response.write?

时间:2015-11-21 19:40:08

标签: asp.net asp.net-mvc webforms response.write

这很简单,但

在asp net MVC中使用经典webforms“response.write”的最佳方法是什么?特别是mvc5。

让我们说:我只是想从控制器中编写一个简单的字符串来屏幕。

在mvc中是否存在response.write?

感谢。

2 个答案:

答案 0 :(得分:9)

如果您的方法的返回类型是ActionResult,您可以使用Content方法返回任何类型的内容。

public ActionResult MyCustomString()
{
   return Content("YourStringHere");
}

或只是

public String MyCustomString()
{
  return "YourStringHere";
}

Content方法也允许您返回其他内容类型,只需将内容类型作为第二个参数传递。

 return Content("<root>Item</root>","application/xml");

答案 1 :(得分:3)

正如@Shyju所说,您应该使用Content方法,但是通过创建自定义操作结果还有另一种方法,您的自定义操作结果可能如下所示::

public class MyActionResult : ActionResult
{
    private readonly string _content;

    public MyActionResult(string content)
    {
        _content = content;
    }
    public override void ExecuteResult(ControllerContext context)
    {
        context.HttpContext.Response.Write(_content);
    }
}

然后你可以这样使用它:

    public ActionResult About()
    {
        ViewBag.Message = "Your application description page.";

        return new MyActionResult("content");
    }