这是我的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 - 未找到
我试图通过调试来跟踪它
但它没有进入细节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 }
);
}
}
}
答案 0 :(得分:0)
这是因为点。我发现,如果我使用trailling斜杠它运行良好,那是因为没有尾部斜杠,IIS认为它应该去找一个文件。添加斜杠会产生......这不是真正的文件...所以我现在正在尝试做一些事情。