Asp.net mvc 2 是否直接从控制器打印到web?

Asp.net mvc 2 是否直接从控制器打印到web?,asp.net-mvc-2,Asp.net Mvc 2,我有一个返回cpu状态的控制器函数: public ActionResult GetStats() { Random rand = new Random(); ViewData["cpu_temp"] = rand.Next(0, 100) + "%"; return View(); } 从一个角度来看,它100%有效。Bu tI想知道我是否可以缩短流程,然后做一些类似的事

我有一个返回cpu状态的控制器函数:

        public ActionResult GetStats()
        {
            Random rand = new Random();
            ViewData["cpu_temp"] = rand.Next(0, 100) + "%";

            return View();
        }
从一个角度来看,它100%有效。Bu tI想知道我是否可以缩短流程,然后做一些类似的事情:

        public ActionResult GetStats()
        {
            Random rand = new Random();

            something.writeline(rand.Next(0, 100) + "%");
        }
这样我就可以创建控制器,而不必关心简单输出的视图:D

修复,在Jamie Dixon的提示下,我提出了以下解决方案:

        public ActionResult GetStats()
        {
            Random rand = new Random();
            ViewData["cpu_temp"] = rand.Next(0, 100) + "%";

            return Json(ViewData, JsonRequestBehavior.AllowGet);
        }

按预期工作:D

这完全取决于您要查看数据的位置

如果要通过网页在web浏览器中查看数据,则需要返回视图

如果您只想查看数据,可以使用

Debug.WriteLine(mystring);
或者,您可以将其以用户可以下载的任何格式(JSON、XML、文本文件)发送到浏览器,而不需要查看

这里的关键点是,如果您希望用户在浏览器中查看信息的方式可能会显示给他们,那么您需要使用视图

更新

要返回JSON对象,只需
返回JSON(对象)


这样做会更容易:

public ActionResult GetStats()
{
   Random rand = new Random();

   return Content(rand.Next(0, 100) + "%");
}

JSON实际上是我的目标,我可以通过跳过视图文件将其发送到浏览器吗?怎么做DI已经更新了我的答案,包括一种返回JSON数据的简单方法。
public ActionResult GetStats()
{
   Random rand = new Random();

   return Content(rand.Next(0, 100) + "%");
}