Печатать в веб прямо с контроллера? - PullRequest
0 голосов
/ 18 августа 2011

У меня есть эта функция контроллера, которая возвращает статистику процессора:

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

            return View();
        }

И с целью все работает на 100%. Но мне интересно, могу ли я сократить процесс и просто сделать что-то вроде:

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

            something.writeline(rand.Next(0, 100) + "%");
        }

Только для того, чтобы я мог создавать контроллеры и не заботиться о представлениях для простого простого простого вывода: D

FIX , после подсказки Джейми Диксона я придумал это решение:

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

            return Json(ViewData, JsonRequestBehavior.AllowGet);
        }

Работает по назначению: D

Ответы [ 2 ]

1 голос
/ 18 августа 2011

Это было бы проще сделать:

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

   return Content(rand.Next(0, 100) + "%");
}
1 голос
/ 18 августа 2011

Все зависит от того, где вы хотите просмотреть данные.

Если вы хотите просматривать данные в веб-браузере через веб-страницу, вам нужно будет вернуть представление.

Если вы просто хотите увидеть данные, вы можете вывести их на консоль отладки с помощью

Debug.WriteLine(mystring);

В качестве альтернативы вы можете отправить его в браузер в любом количестве форматов, которые могут быть загружены пользователем (JSON, XML, текстовый файл), для которых не требуется просмотр.

Ключевым моментом здесь является то, что если вы хотите, чтобы пользователь просматривал информацию в своем браузере таким образом, который, скорее всего, будет отображаться для вас, вы захотите использовать View.

UPDATE

Чтобы вернуть объект JSON, вы можете просто return JSON(object).

return JSON(new {foo = "foo", bar = "bar"});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...