使用<防止剃刀混淆的方法>符号

时间:2013-12-08 04:01:30

标签: c# asp.net-mvc razor

我是razor的新手,我发现它在打字时会破坏很多(解释如下)......它会告诉我某些内容无效(通过错误)但后来相同的确切代码将正常工作。使用<时似乎有一个主要问题。 >符号(用于泛型)。它会工作,直到我再次开始进行更改,然后intellisense将在我输入时断开(在这种情况下执行lambda表达式时)。然后再次抱怨括号。我的代码来自Telerik示例:

@(Html.Kendo().Grid<Order>().Name("Orders").Columns(c =>
  {
      c.Bound(p => p.OrderID);
      c.Bound(p => p.OrderDate).Format("{0:d}").Title("Date");
      c.Bound(p => p.Name).Title("Name");
      c.Bound(p => p.Company).Title("Company");
      c.Bound(p => p.Email);
      c.Bound(p => p.Phone).Title("Phone");
      c.Bound(p => p.Total).Format("{0:c}");
      c.Bound(p => p.Approved);
  })
    .DataSource(d => d
        .Ajax()
        .Read(a => a.Action("GetOrders", "Home"))
        .PageSize(10)
        .Sort(sort => sort.Add("OrderDate").Descending())
        )
    .Pageable()
    .Sortable()
    .Filterable()
 )

如果我开始在过滤下添加“.Resizable(r =&gt; ....”,智能感知会停止工作并且错误再次发生。我猜它对开放感到困惑(事实上我正在输入另一个开放状态)支撑我的lambda。

我应该使用不同的方法吗?如果我继续失去intellisense,这会让剃刀变得很烦人。我唯一可以做的就是这个,但是我必须首先将它分配给一个变量似乎很奇怪。

@{ var g = Html.Kendo().Grid<Order>().Name("Orders").Columns(c =>
  {
      c.Bound(p => p.OrderID);
      c.Bound(p => p.OrderDate).Format("{0:d}").Title("Date");
      c.Bound(p => p.Name).Title("Name");
      c.Bound(p => p.Company).Title("Company");
      c.Bound(p => p.Email);
      c.Bound(p => p.Phone).Title("Phone");
      c.Bound(p => p.Total).Format("{0:c}");
      c.Bound(p => p.Approved);
  })
    .DataSource(d => d
        .Ajax()
        .Read(a => a.Action("GetOrders", "Home"))
        .PageSize(10)
        .Sort(sort => sort.Add("OrderDate").Descending())
        )
    .Pageable()
    .Sortable()
    .Filterable()
    .Resizable(r => r.Columns(true));

    @g
}

我错过了什么,或者这是避免智能感知问题的正确方法吗?

0 个答案:

没有答案