【问题标题】:mvc5 HTTP Error 404.0 - Not Found with details ActionResult [duplicate]mvc5 HTTP 错误 404.0 - 未找到详细信息 ActionResult [重复]
【发布时间】:2016-07-10 07:46:59
【问题描述】:

这是我的操作链接

@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 - 未找到

我尝试通过调试来追踪它 但它没有通过该链接详细介绍 actionResult 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 }
            );
        }
    }
}

【问题讨论】:

  • 您没有认真使用decimal 作为标识符/密钥吗?
  • 是的,我使用的是小数,点的重复没有问题,但这是因为点。你放的链接真的很有帮助,我发现如果我放斜杠它工作得很好,那是因为没有斜杠,IIS认为它是一个应该去查找的文件。添加斜线的效果是......这不是一个真正的文件......所以我现在正在尝试对此做一些事情,感谢您的帮助

标签: asp.net-mvc-5


【解决方案1】:

这是因为点。我发现如果我放斜杠它工作得很好,那是因为没有斜杠,IIS认为它是一个应该去查找的文件。添加斜线的效果是......这不是一个真实的文件......所以我现在正在尝试对此做一些事情。

详细信息 Dots in URL causes 404 with ASP.NET mvc and IIS

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-23
    • 1970-01-01
    • 1970-01-01
    • 2017-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-18
    相关资源
    最近更新 更多