我想了解剃刀引擎如何執行以@
開頭的c#代碼的順序。什麼是在剃刀執行C#的順序
我正在嘗試查看Controller執行並執行視圖時的不同時間。所以,我創建了這個非常簡單的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
Controller中的ProcessingTime,並且t他在視圖中的RenderTime是一樣的嗎?
@AndrewBarber - 繪製所有100萬條文字線需要時間。 – 2012-03-03 21:49:00
@TravisJ此代碼中沒有任何「繪圖」。 – 2012-03-03 21:51:38
@Andrew我以爲,因爲它需要很多時間才能讓我看到頁面。現在我明白延遲是因爲瀏覽器。不要顯示任何內容,只能使用更大的數字,我可以看到不同的時間。謝謝! – 2012-03-03 22:12:47