这很简单,但
在asp net MVC中使用经典webforms“response.write”的最佳方法是什么?特别是mvc5。
让我们说:我只是想从控制器中编写一个简单的字符串来屏幕。
在mvc中是否存在response.write?
感谢。
答案 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");
}