小编Red*_*Red的帖子

MVC 4从基本路线中删除"home"

基本上我想这样做:http: //website.com/Home/About

显示为:http: //website.com/About

显示在URL中的"home"控制器将使用户更长的URL读取.

我试着做以下事情:

routes.MapRoute(
            name: "About",
            url: "",
            defaults: new { controller = "Home", action = "About", id = UrlParameter.Optional }
            );
Run Code Online (Sandbox Code Playgroud)

有人可以帮帮我吗?

asp.net-mvc asp.net-mvc-routing asp.net-mvc-4

34
推荐指数
2
解决办法
2万
查看次数

Linq groupby返回独特的组

我有记录列表,每条记录都有名称轮次. Rounds是由" - "分隔的连接数字

在此输入图像描述

我如何按名称分组并仅显示唯一的回合,也计算回合的数量并显示第一轮和最后一轮

在此输入图像描述

这是我试过的,

 data.GroupBy(d => d.Name)
.Select(
    g => new
    {
        Name = g.Key,
        Rounds = g.Concat(s => s.Rounds),
        NumberOfRounds =  g.Concat(s => s.Rounds).Split('-').Count,
        FirstRound = //??,
        LastRound = //??,
    });
Run Code Online (Sandbox Code Playgroud)

c# linq group-by list

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

ASP.NET vNext和ASP.NET 5有什么区别?

我注意到,MSDNASP.NET 网站也可以互换使用这些名称,所以我认为它们具有相同的含义.我最初的猜测是ASP.NET 5很容易混淆,ASP.NET MVC 5所以微软团队决定给它另一个名字,一些更独特的东西.这vNext就是起源的原因.我接近我的假设吗?ASP.NET vNextASP.NET 5.之间是否存在显着差异?

asp.net asp.net-core

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

如何防止新控制器在Views文件夹中为其视图创建新文件夹?

我正在写一个ASP.NET MVC 5应用程序,其中的文件夹被组织功能(ViewModels,Controllers,和Views组合在一起).我能够覆盖所有默认文件夹路径并成功管理所有路由.但是,每次我创建一个新的控制器,Visual Studio创建一个新的Views文件夹和一个带控制器名称的子文件夹,这有点烦人,但没关系.

现在,当我创建另一个控制器时,我收到此错误,因为Visual Studio 再次创建了Views文件夹,该文件夹现在被隐藏(从项目中排除).要解决这个问题,我必须在项目中包含Views文件夹,并在创建控制器后将其删除.

有人知道有什么方法可以防止这种情况吗?

错误

运行所选代码生成器时出错:'此位置的磁盘上已存在名为"Views"的文件或文件夹.请选择其他名称.

如果此文件或文件夹未出现在解决方案资源管理器中,则它当前不是您项目的一部分.要查看磁盘上但不在项目中的文件,请从"项目"菜单中选择"显示所有文件".

在此输入图像描述

visual-studio-2013 asp.net-mvc-5

2
推荐指数
1
解决办法
821
查看次数

如何对空枚举进行单元测试?

我有一个扩展方法,根据日期时间类型计算到期日.该方法如下所示:

public static DateTime CalculateDueDate(this DateTime date, OffsetType offsetType, int offset)
{
    switch (offsetType)
    {
        case OffsetType.Days:
            return date.AddDays(offset);
        case OffsetType.Weeks:
            return date.AddWeeks(offset);
        case OffsetType.Months:
            return date.AddMonths(offset);
        default:
            throw new ArgumentOutOfRangeException("offsetType", offsetType, null);
    }
}
Run Code Online (Sandbox Code Playgroud)

其中OffsetType枚举具有以下可能的值:

public enum OffsetType
{
    Months = 1,
    Weeks = 2,
    Days = 3
}
Run Code Online (Sandbox Code Playgroud)

如何ArgumentOutOfRangeExceptionOffsetType enum未提供(或提供无效值)时确保抛出?如果OffsetType参数不是,我甚至需要担心单元测试异常null吗?

更新:

我希望我可以投票给多个答案.我决定使用Leedasblinkenlight建议的超出范围的值.这是我的鳍单元测试:

    [Test]
    public void CalculateDueDate_Throw_Exception_Test()
    {
        var date = DateTime.Now;
        var period = 3;
        var …
Run Code Online (Sandbox Code Playgroud)

c# enums nunit unit-testing

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

我如何将一个List <int>分组并返回一个List <int>

我有一个整数列表。我想对列表进行分组并创建一个新列表,该列表仅包含符合特定条件的按数字分组的列表。这是我到目前为止所拥有的。对membersList的声明是List

int rows = 5;

List<int> memberKeys = memberKeysList
  .GroupBy(x => x)
  .Where(x => x.Count() == rows)
  .ToList();
Run Code Online (Sandbox Code Playgroud)

它抱怨从groupedby列表转换为列表。

c# linq group-by list

0
推荐指数
1
解决办法
3283
查看次数