基本上我想这样做: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)
有人可以帮帮我吗?
我有记录列表,每条记录都有名称和轮次. 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) 我注意到,MSDN主ASP.NET 网站也可以互换使用这些名称,所以我认为它们具有相同的含义.我最初的猜测是ASP.NET 5很容易混淆,ASP.NET MVC 5所以微软团队决定给它另一个名字,一些更独特的东西.这vNext就是起源的原因.我接近我的假设吗?ASP.NET vNext和ASP.NET 5.之间是否存在显着差异?
我正在写一个ASP.NET MVC 5应用程序,其中的文件夹被组织功能(ViewModels,Controllers,和Views组合在一起).我能够覆盖所有默认文件夹路径并成功管理所有路由.但是,每次我创建一个新的控制器,Visual Studio创建一个新的Views文件夹和一个带控制器名称的子文件夹,这有点烦人,但没关系.
现在,当我创建另一个控制器时,我收到此错误,因为Visual Studio 再次创建了Views文件夹,该文件夹现在被隐藏(从项目中排除).要解决这个问题,我必须在项目中包含Views文件夹,并在创建控制器后将其删除.
有人知道有什么方法可以防止这种情况吗?
错误
运行所选代码生成器时出错:'此位置的磁盘上已存在名为"Views"的文件或文件夹.请选择其他名称.
如果此文件或文件夹未出现在解决方案资源管理器中,则它当前不是您项目的一部分.要查看磁盘上但不在项目中的文件,请从"项目"菜单中选择"显示所有文件".

我有一个扩展方法,根据日期时间类型计算到期日.该方法如下所示:
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)
如何ArgumentOutOfRangeException在OffsetType enum未提供(或提供无效值)时确保抛出?如果OffsetType参数不是,我甚至需要担心单元测试异常null吗?
更新:
我希望我可以投票给多个答案.我决定使用Lee和dasblinkenlight建议的超出范围的值.这是我的鳍单元测试:
[Test]
public void CalculateDueDate_Throw_Exception_Test()
{
var date = DateTime.Now;
var period = 3;
var …Run Code Online (Sandbox Code Playgroud) 我有一个整数列表。我想对列表进行分组并创建一个新列表,该列表仅包含符合特定条件的按数字分组的列表。这是我到目前为止所拥有的。对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# ×3
group-by ×2
linq ×2
list ×2
asp.net ×1
asp.net-core ×1
asp.net-mvc ×1
enums ×1
nunit ×1
unit-testing ×1