gpt4 book ai didi

c# - asp.net MVC 创建我自己的路由

转载 作者:太空宇宙 更新时间:2023-11-03 11:53:45 25 4
gpt4 key购买 nike

您好,我正在尝试创建一个如下所示的 URL:

黑色/花岗岩/台面

黑色和花岗岩会发生变化,所以我尝试在 global.asax.cs 中创建自己的路线,如下所示:

 routes.MapRoute("Kitchen", "kitchen/[color]/[surface]/[type]",
new {controller = "kitchen", action = "surface"});

将 URL 更改为 kitchen/black/granite/worktops

通过这种方式,我想我可以创建一个名为 kitchen 的 Controller ,其中包含一个名为 surface 的操作我的代码如下所示:

public ActionResult surface(string color, string surface, string type)
{
ViewData["color"] = color;
ViewData["surface"] = surface;
ViewData["type"] = type;
return View();
}

但是我似乎无法让它工作,尽管我有自定义映射,但我收到此 URL 的错误 404,任何人都可以指出我阅读的方向,我一直在这里阅读此页面:http://weblogs.asp.net/scottgu/archive/2007/12/03/asp-net-mvc-framework-part-2-url-routing.aspx

这就是给了我这个想法,因为他有查询和页面代码有点过时,因为我正在使用 MVC 预览版 2

非常感谢

最佳答案

它现在的工作方式是在你的 global.asax 中,你会想要这样的东西:

 routes.MapRoute("Kitchen Surface Route", 
"kitchen/{color}/{surface}/{type}",
new {controller = "kitchen", action = "surface", color="", surface = "", type=""});

然后你就会有一个像这样的 ActionLink:

<%= Html.ActionLink("Link Text", "Kitchen", "surface", new {color="theColor", type="theType", surface="surfaceType"}, null) %>

有时路线会变得有些复杂。您也可以使用 Phil Haack's Route Debugger来帮助你。

关于c# - asp.net MVC 创建我自己的路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1307279/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com