我遇到了以下代码:
@if (!String.IsNullOrWhiteSpace(@Html.Action("FlyoutShoppingCart", "ShoppingCart").ToString()))
{
//...
<ul class="dropdown-menu">
<li>@Html.Action("FlyoutShoppingCart", "ShoppingCart")</li>
</ul>
}
使得@ Html.Action(“FlyoutShoppingCart”,“ShoppingCart”)被执行两次,我修复了引入变量的代码:
var shoppingCartHtml = @Html.Action("FlyoutShoppingCart", "ShoppingCart").ToString()
if(!string.IsNullOrEmpty(shoppingCartHtml))
{ //...
<ul class="dropdown-menu">
<li>@shoppingCartHtml</li>
</ul>
}
但仍然有一些关于代码优化的问题:
- Razor是否在Views中进行任何代码验证?
- 当视图中的C#代码被动态编译并转换为MSIL时,动态编译与C#编译器进行相同的优化 建筑dll?
- CLR / JIT编译器可以优化上述示例吗?
醇>