HandleUnknownAction在ASP.NET 5

HandleUnknownAction在ASP.NET 5

问题描述:

什么是ASP.NET MVC 5HandleUnknownAction在ASP.NET 5

Controller.HandleUnknownAction() 

在ASP.NET MVC 6/ASP.NET 5等同?

+1

好奇,你通常用什么方案此方法适用于?我发现你可以发回一个回应,可能是说没有找到某种行为或类似的行为......但是有什么其他的东西可以用来... –

+0

动态生成的模板。假设我有/ Templates/EmployeeDetails 我要做的是首先检查是否有文件Views/Templates/EmployeeDetails.cshtml。如果没有,我会使用GenericDetails.cshtml里面将使用反射来建立一个适当的HTML来编辑雇员。 宁可避免需要创建操作方法+专用.cshtml对于每种类型的我有90%的人将是仅有1对1的地图属性为HTML输入。 – Mikeon

有没有真正的等价物。

行动选择在MVC5/WebAPI2是一个三阶段的过程: 1.运行路线 2.选择控制器 3.选择一个动作

在MVC6,步骤2也没有了。直接使用路由值选择操作 - 您会注意到Controller.BeginExecute也不见了。现在控制器很“薄”。

,如果你想通过使用直接转到你的问题的行动路线,您可以模拟这种行为。

在控制器中定义一个名为HandleUnknownAction动作 routes.MapRoute("default", "{controller=Home}/{action=Index}/{id?}"); routes.MapRoute("unknown_action", "{controller}/{*params}", defaults: new { action = "HandleUnknownAction"});

的另一种方法是简单地定义不明行动路线的参数:

使用这种方法时,URL foo/bar会返回查看bar.cshtmlfoo/baz将返回baz.cshtml