小编Stu*_*ing的帖子

寻找Telerik的MVC控件的替代品

我有使用Telerik的大量不同工具的长期经验,我不得不说,我喜欢它们.

但我需要另一种选择.为什么?好吧,我想开始一个开源项目.该项目将包含许多元素,包括MVC前端.遗憾的是,Telerik的许可证明确禁止在开源项目中使用其组件.

我将需要许多组件,但最值得一提的是Grid.任何人都可以建议一个可用有价值的组件集,我可以在开源项目中使用它.

接受任何建议.

open-source telerik telerik-mvc

7
推荐指数
1
解决办法
1万
查看次数

实体框架不会包含()所有表

我有一套简单的3表,EF知道这些表是相关的......

词汇<=> LexiconTerms

当地<=> LexiconTerms

在我的存储库中,我执行以下操作...

var result = localContext.LexiconTerms.Include(i=>i.Locale).Include(i=>i.Lexicon)
Run Code Online (Sandbox Code Playgroud)

当我检查结果时,总是填充Lexicon并且Locale始终是 null

现在,如果我看看生成的SQL,我看到了......

SELECT 
    [Extent1].[Id] AS [Id], 
    [Extent1].[LexiconId] AS [LexiconId], 
    [Extent1].[ResourceId] AS [ResourceId], 
    [Extent1].[Value] AS [Value], 
    [Extent1].[LocaleId] AS [LocaleId], 
    [Extent1].[ResourceSet] AS [ResourceSet], 
    [Extent1].[Type] AS [Type], 
    [Extent1].[BinFile] AS [BinFile], 
    [Extent1].[TextFile] AS [TextFile], 
    [Extent1].[Filename] AS [Filename], 
    [Extent1].[Comment] AS [Comment], 
    [Extent1].[ValueType] AS [ValueType], 
    [Extent1].[Updated] AS [Updated], 
    [Extent2].[Name] AS [Name], 
    [Extent2].[LocaleCode] AS [LocaleCode], 
    [Extent3].[Id] AS [Id1], 
    [Extent3].[Name] AS [Name1], 
    [Extent3].[Description] AS [Description], 
    [Extent3].[DeletedOn] AS [DeletedOn]
    FROM   [Locale].[LexiconTerms] AS [Extent1]
    INNER JOIN [Locale].[Locale] AS [Extent2] ON [Extent1].[LocaleId] …
Run Code Online (Sandbox Code Playgroud)

c# sql-server entity-framework entity-framework-6

7
推荐指数
1
解决办法
294
查看次数

dotCover未显示解决方案中的所有项目

首先让我说我是ReSharper和dotCover的新手,我使用的是v10.0.2.

附带的屏幕截图显示了VS中的解决方案资源管理器和一组测试的覆盖树.

每当我运行coverage时,它总是在coverage树中显示相同的程序集子集.重要的是,显示的所有测试都是针对服务或基础结构程序集中的代码,两者都不显示在覆盖树中.

很明显,产品没有做正确的事情,或者我不是.

  • 为什么只有覆盖树中显示的某些程序集?
  • 为什么我在覆盖树中显示的测试所涵盖的任何程序集都没有?
  • 如何让它正常工作?

编辑 如果它有任何区别,我正在使用xUnit并在ReSharper中安装了xUnit运行扩展,并且测试本身运行正常.

屏幕截图

resharper dotcover

5
推荐指数
1
解决办法
1802
查看次数

强制IE在新窗口中打开下载

我有网络应用程序,列出存储在其中的文件.

每个项目都有一个超链接,单击该链接时,会强制显示"打开/保存"对话框.

现在,如果我点击一个指向Word文档的链接并选择"打开",它会在它自己的窗口中打开,正如您所期望的那样.但是,如果文件是HTML文件,我选择"打开"选项,它会打开浏览器中的页面[正确],但它会在我用来选择文档[bad]的窗口中打开.

因此,问题是:是否可以强制打开/保存对话框的"打开"选项在新窗口中打开文档?

编辑: 强制打开文档的超链接不仅仅是指向文件的指针(由于多种原因)..NavigateUrl属性包含对JavaScript函数的调用.此函数向应用程序发出Ajax请求,该文档从安全存储中提取文档并将其作为附件呈现给用户的浏览器(Content-Disposition:attachment)

进一步编辑: JavaScript函数只是将Ajax调用回页面.操作的结果是使页面显示在IFrame中.此页面直接写入响应对象,如下所示:

Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", String.Format("attachment;filename=\"{0}\"", FileName));
Response.AddHeader("Content-Length", String.Format("{0}", length));
Response.Flush();
Response.Close();
Run Code Online (Sandbox Code Playgroud)

我想,如果它可以改变的产生的打开/保存对话框的"打开"按钮的动作,这将是我的东西在做这样的代码,这将迫使它.

如果它有所不同,这是一个用C#编写的.Net v4.0应用程序.

我知道打开新窗口的好坏,但这是一个私人应用程序,这是客户想要的.

c# asp.net webforms

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

用&&​​链接方法

我有一堆方法都返回bool.

如果一个方法返回false,则调用以下方法没有任何价值,特别是因为其中一些方法是"昂贵的"操作.

哪个更有效率?

bool result = method1();
if (result) result = method2();
if (result) result = method3();
return result;
Run Code Online (Sandbox Code Playgroud)

要么

return method1() && method2() && method3();
Run Code Online (Sandbox Code Playgroud)

据我所知,第二种形式应该在其中一种方法返回false时停止评估,对吧?

.net c# boolean-operations

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

我是否需要2个Comparer <T>才能在两个方向上进行排序?

如果我Comparer<T>为了排序一组对象而创建一个对象,是否有一种简单的方法可以"反转"它以便我可以向另一个方向排序?或者我需要Comparer<T>在比较方法中交换测试来定义第二个?

c# sorting .net-4.0

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

无法模拟....必须启用探查器来模拟,安排或执行指定的目标

我在测试中有以下内容(我的第一次JustMock测试,我可能会添加)...

        var template = Mock.Create<MessageType>();
        Mock.Arrange(() => template.Subject)
            .Returns("This template has Zero tokens.");

        Mock.Arrange(() => template.Body)
            .Returns("This template has {{number}} of {{tokens}}.");
Run Code Online (Sandbox Code Playgroud)

被Mocked这个班看起来像这样......

public class MessageType : BaseBusinessEntity
{
    public string Body { get; set; }

    public int DigestsToBeIncludedOn { get; set; }

    public Guid MessageReference { get; set; }

    public int MessageTypeId { get; set; }

    public string Name { get; set; }

    public int PredefinedRecipients { get; set; }

    public string Subject { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

当我试图运行测试时,我得到... …

unit-testing telerik justmock

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

对类的多个属性执行断言

我从文档中知道我可以做到这一点......

result.Should().BeOfType<MyClass>().Which.Property1.Should().Be("String")
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以以类似的方式测试多个属性

result.Should().BeOfType<MyClass>().Which.Property1.Should().Be("String").And.Property2.Should().Be(99);
Run Code Online (Sandbox Code Playgroud)

如果可以执行上述任一测试而不必断言它们是“OfType”,那也很好,但我怀疑代码没有其他方法可以知道哪些属性可用。

fluent-assertions

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

创建一个将lambda表达式传递给构造函数的对象

我有一个具有许多属性的对象.

我想在调用构造函数时能够分配一些这些属性.

显而易见的解决方案是要么有一个构造函数,它为每个属性提供一个参数,但是当有很多属性时这是很讨厌的.另一个解决方案是创建重载,每个重载都取一个属性值的子集,但最终我可能会遇到几十个重载.

所以我想,如果我能说,那不是很好吗

MyObject x = new MyObject(o => o.Property1 = "ABC", o.PropertyN = xx, ...);

问题是,我太蠢了,无法弄清楚如何做到这一点.

你知道吗?

lambda object c#-3.0

3
推荐指数
2
解决办法
5926
查看次数

在Kendo网格详细信息模板中访问客户端数据

给定MVC示例的UI,如何在客户端模板中引用数据源中的详细模板项?

例如,示例中的详细信息模板如下所示....

<script id="template" type="text/kendo-tmpl">
    @(Html.Kendo().TabStrip()
            .Name("tabStrip_#=EmployeeID#")
            .SelectedIndex(0)
            .Animation(animation => animation.Open(open => open.Fade(FadeDirection.In)))
            .Items(items =>
            {
                items.Add().Text("Orders").Content(@<text>
                    @(Html.Kendo().Grid<Kendo.Mvc.Examples.Models.OrderViewModel>()
                        .Name("grid_#=EmployeeID#")
                        .Columns(columns =>
                        {
                            columns.Bound(o => o.OrderID).Title("ID").Width(56);
                            columns.Bound(o => o.ShipCountry).Width(110);
                            columns.Bound(o => o.ShipAddress);
                            columns.Bound(o => o.ShipName).Width(190);
                        })
                        .DataSource(dataSource => dataSource
                            .Ajax()
                            .PageSize(5)
                            .Read(read => read.Action("HierarchyBinding_Orders", "Grid", new { employeeID = "#=EmployeeID#" }))
                        )
                        .Pageable()
                        .Sortable()
                        .ToClientTemplate())
                </text>                        
                );
                items.Add().Text("Contact Information").Content(
                    "<div class='employee-details'>" +
                        "<ul>" +
                            "<li><label>Country:</label>#= Country #</li>" +
                            "<li><label>City:</label>#= City #</li>" +
                            "<li><label>Address:</label>#= Address #</li>" +
                            "<li><label>Home …
Run Code Online (Sandbox Code Playgroud)

kendo-grid kendo-asp.net-mvc

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