如果有的话,Views Razor会做什么样的代码优化?

时间:2015-11-03 11:36:14

标签: c# asp.net-mvc razor

我遇到了以下代码:

@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>
}

但仍然有一些关于代码优化的问题:

  
      
  1. Razor是否在Views中进行任何代码验证?
  2.   
  3. 当视图中的C#代码被动态编译并转换为MSIL时,动态编译与C#编译器进行相同的优化   建筑dll?
  4.   
  5. CLR / JIT编译器可以优化上述示例吗?
  6.   

0 个答案:

没有答案