我的控制器中有 Get 动作,它有两个参数。我使用 JS 函数从 Razor 视图中调用它们:
function deleteAddress(addressId) {
url = '@Url.Action("Delete", "Addresses",new { addressId = "3",actionRouteAfterActionFinish="SelectAddress"})';
openLink(url);
}
这是我在控制器内的操作声明:
public async Task<ActionResult> Delete(int addressId,string actionRouteAfterActionFinish){
...
...
}
当我在属性路由下方添加时,它运行良好,并且两个参数都从 Razor 视图正确传递到Delete
操作:
[Route("Addresses/Delete/{addressId}/{actionRouteAfterActionFinish}")]
但是当我尝试在下面使用它时RouteConfig
它不起作用,并且null
当从 Razor 视图调用方法时设置了第二个参数。我想知道如何重写RouteConfig
以管理具有两个参数的操作?
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
//enabling attribute routing
routes.MapMvcAttributeRoutes();
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Intro", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "TwoParamterAction",
url: "{controller}/{action}/{parameter1}/{paramter2}"
);
我Default
用规则重新排序规则,TwoParamterAction
但没有帮助。