使用参数

时间:2018-05-03 06:26:16

标签: c# asp.net-mvc

我的应用程序中Index控制器内部的签名没有任何参数,通常是简单的Home ActionResult。

public ActionResult Index()
{
    ...
    return View();
}

当我输入... / Home / Index / example作为网址时,此控制器会回答请求。

我猜这与我的路线配置有关。

这是我的route-config

public static class RouteConfig
{
    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
        routes.LowercaseUrls = true;
        routes.MapRoute("Default", "{controller}/{action}/{id}", new
        {
            controller = "Home",
            action = "Index",
            id = UrlParameter.Optional
        }).RouteHandler = new DashRouteHandler();

        routes.MapHttpRoute(
            name: "Exception",
            routeTemplate: "{*url}",
            defaults: new { controller = "ErrorHandling", action = "Exception" }
        );
    }
}

我不知道如何预防它。简单地说,我不想要回答这些电话,而是希望将它们转到404页面。

1 个答案:

答案 0 :(得分:1)

创建参数string id并更改索引方法:

public ActionResult Index(string id)
{
    if(id != null)
    {
        return StatusCode(404);
    }
    ...
    return View();
}