Я хотел бы понять, как работает механизм Razor с кодом C#, начинающимся с @
.Каков порядок выполнения C# в Razor
Я пытался увидеть разные времена, когда контроллер выполнен и представление выполнено. Итак, я создал это очень простое приложение 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
ProcessTime в контроллере и t он RenderTime в том же?
@AndrewBarber - Требуется время, чтобы нарисовать все миллионы строк текста. –
@TravisJ В этом коде нет «рисунка». –
@ Andrew Я думал, потому что для отображения мне страницы требуется много времени. Теперь я понимаю, что задержка связана с браузером. Не показывайте ничего, кроме использования большего числа, я могу видеть разные времена. Благодаря! –