ASP.NET MVC5:路由引起问题的额外段



要处理我的路由问题,我在路由时添加了额外的段,这不会重定向我编辑操作。

请参阅我的路由,这引起了问题

routes.MapRoute
(
    name: "PageWithId",
    url: "Customers/Action/Edit/{page}/{id}",
    defaults: new { controller = "Customers", action = "Edit" }
);
OR
routes.MapRoute
(
    name: "PageWithId",
    url: "Customers/Edit/Action/{page}/{id}",
    defaults: new { controller = "Customers", action = "Edit" }
);

i在上面测试了2个不同的pageWithID路由集,但无工作

请参阅Routelink代码

@Html.RouteLink("Edit", "PageWithId",
new
{
        controller = "Customers",
        action = "Edit",
        id = item.CustomerID,
        page = ViewBag.CurrentPage
})

我的编辑操作代码

public ActionResult Edit(int page, string id)
{
    if (id == null)
    {
    return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
    }
    Customer customer = db.Customers.Find(id);
    if (customer == null)
    {
    return HttpNotFound();
    }
    ViewBag.CurrentPage = page;
    return View(customer);
}  

现在说明为什么此URL http://localhost:2020/Customers/Action/Edit/1/AlFAKI不将我重定向到编辑操作?

请参阅我的完整路由代码

routes.MapRoute(
                name: "PageWithSort",
                url: "{controller}/{action}/{page}/{SortColumn}/{CurrentSort}",
                defaults: new { action = "Index", page = UrlParameter.Optional, SortColumn = UrlParameter.Optional, CurrentSort = UrlParameter.Optional }
            );

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

您的路线看起来错误,我相信您正在尝试做:

routes.MapRoute(
    name: "PageWithId",
    url: "{controller}/{action}/{page}/{id}",
    defaults: new { controller = "Customers", action = "Edit" }
);

您的URL将是:http://localhost:2020/customers/edit/1/alfaki

最新更新