Asp.net mvc 5 mvc5 HTTP错误404.0-找不到详细信息ActionResult

Asp.net mvc 5 mvc5 HTTP错误404.0-找不到详细信息ActionResult,asp.net-mvc-5,Asp.net Mvc 5,这是我的actionlink @Html.ActionLink("Details", "Details", new { id = item.WarehouseID }) 它给了我这个链接http://localhost:6587/WareHouse/Details/1.00000000 控制器 public ActionResult Details(decimal? id) { Warehouse Warehouse = db.Warehouse.Find(id); retur

这是我的actionlink

@Html.ActionLink("Details", "Details", new { id = item.WarehouseID })
它给了我这个链接http://localhost:6587/WareHouse/Details/1.00000000

控制器

public ActionResult Details(decimal? id)
{
    Warehouse Warehouse = db.Warehouse.Find(id);
    return View(Warehouse);
}
当我将操作链接更改为

@Html.ActionLink("Details", "Details", new { WareHouseID = item.WarehouseID })
并在queryString正常工作时检索链接

public ActionResult Details(decimal? WareHouseID) 
{
    Warehouse Warehouse = db.Warehouse.Find(WareHouseID);
    return View(Warehouse);
}
但它给了我

HTTP错误404.0-找不到

我试图通过调试来跟踪它 但它并没有通过这个链接进入细节 http://localhost:6587/WareHouse/Details/1.00000000

我的路线配置

using System.Web.Routing;

namespace TestErp
{
    public class RouteConfig
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );
        }
    }
}

这是因为点。我发现,如果我使用拖尾斜杠,它工作得很好,这是因为如果没有拖尾斜杠,IIS认为它是一个应该查找的文件。添加斜杠的效果是…这不是一个真正的文件。。。所以我现在正试着做一些事情

细节

您不是认真地使用十进制作为标识符/键吧?是的,我使用的是十进制,点的重复没有问题,但这是因为点。你放的链接真的很有帮助,我发现如果我放了尾随斜杠,效果会很好,这是因为没有尾随斜杠,IIS认为它是一个应该去查找的文件。添加斜杠的效果是…这不是一个真正的文件。。。所以我现在正试着做一些事情,谢谢你的帮助