【发布时间】: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