Я хотел бы понять, как механизм Razor выполняет код c #, запущенный с @
.
Я пытался увидеть различные моменты времени, когда выполняется контроллер и выполняется представление.Итак, я создал это очень простое приложение ASP.NET MVC.Я сохраняю время в переменной ViewBag
в контроллере и показываю ему представление, я также показываю текущее время в представлении.
Контроллер имеет это:
public ActionResult Index()
{
ViewBag.ProcessingTime = DateTime.Now;
return View();
}
Представление имеет это:
Processing time: @ViewBag.ProcessingTime<br />
@{
int i = 0;
do
{
i++;
<text>@i<br /></text>
}
while (i < 1000000);
}
Render time: @DateTime.Now
Результат примерно такой:
Processing time: 03/03/2012 04:16:48 p.m.
1
2
3
4
[...]
999998
999999
1000000
Render time: 03/03/2012 04:16:48 p.m.
Почему, если явно требуется время, чтобы показать мне веб-страницу во время выполнения if
, значение ProcessingTime в Controller и RenderTime в представлении совпадают?