小编Ole*_*kyi的帖子

Telerik ASP.NET MVC 3网格 - 设置行背景

我正在使用Telerik Grid.我需要根据视图模型中的某些属性为整行设置背景颜色.我试着通过在每个列的IF语句中设置背景来实现如下,但是backgound仅适用于元素而不是所有单元格(td).此外,它似乎是一种非常"肮脏"的方式来完成这项任务.

@(Html.Telerik().Grid(Model.SomeItems).Name("Grid")
               .Columns(columns =>
               {
                   columns.Template(
                       @<text>
                          @if (Model.IsOfSpecialColor)
                           {
                             <div class="gridRowBackground">
                               @Html.ActionLink(...)
                             </div>
                           }
                           else
                           {                                        
                              @Html.ActionLink(...)
                           }
                      </text>).Title("Blabla");
                });
Run Code Online (Sandbox Code Playgroud)

telerik telerik-mvc asp.net-mvc-3

4
推荐指数
1
解决办法
4293
查看次数

Visual Studio 2012代码覆盖率部分触及区域

我对Visual Studio 2012单元测试有一个问题,更确切地说 - 代码覆盖率.这是目标代码:

var someDeals = allDeals
            .Where(i => i.Number != null && !i.Number.StartsWith(SomeString))
            .Select(i => new DealInfoDto
            {
                CurrentDebtAmount = i.CurrentDebtAmount,
                Date = i.Date,
                NextMonthlyPaymentDate = i.NextMonthlyPaymentDate,
                Number = i.Number,
                AccountNumber = i.AccountNumber,
            })
            .ToArray();
Run Code Online (Sandbox Code Playgroud)

当我运行分析代码覆盖时,它向我显示第二行(i.Number != null && !i.Number.StartsWith(SomeString))中的lambda表达式是部分触摸区域,我无法获得100%覆盖率.但我确信这个表达式是被评估的(SELECT中的表达式是正确的,所以WHERE中的表达式是真的,这意味着&&语句的两个部分都被触及了,我也检查了数据,我确信这个i.Number != null!i.Number.StartsWith(SomeString).

为什么不包括这个块?

PS我Where分成两个表达式,一切都变好了.但它看起来很丑陋,只会更好一点Where:

allDeals
    .Where(i => i.Number != null)
    .Where(i => !i.Number.StartsWith(CardAccountIdentifier))
Run Code Online (Sandbox Code Playgroud)

unit-testing code-coverage visual-studio-2012

3
推荐指数
1
解决办法
1851
查看次数