gpt4 book ai didi

c# - ASP.NET MVC 3 路由

转载 作者:太空宇宙 更新时间:2023-11-03 17:58:16 27 4
gpt4 key购买 nike

我正在尝试创建路线。
哪个是

/emlak/TITLE/number.aspx
/emlak/Here_is_your_best_property/123456.aspx
全局.asax:
routes.MapRoute(
"Product",
"{controller}/{deli}/{productId}",
new { controller = "emlak", action = "Index" },
new { productId = UrlParameter.Optional , deli = UrlParameter.Optional }
);
我的 Controller
namespace emrex.Controllers
{
public class EmlakController : Controller
{
//
// GET: /Emlak/

public ActionResult Index(String productId, String deli)
{
return View();
}

}
}
我收到下一个错误:

Server Error in '/' Application.

The resource cannot be found.


感谢帮助。

最佳答案

不要提供 URL 参数默认值作为约束(就像你做的那样)

当您将路线定义为时(我添加了其他评论,以便我们知道每个部分是什么)

routes.MapRoute(
// route name
"Product",

// Route URL definition
"{controller}/{deli}/{productId}",

// route values defaults
new { controller = "emlak", action = "Index" },

// route values constraints
new { productId = UrlParameter.Optional , deli = UrlParameter.Optional }
);

所以基本上你不应该在你的情况下提供约束,这使它毫无意义。将最后两个放在路由默认值中,并将约束排除在此路由定义之外:
routes.MapRoute(
"Product",
"{controller}/{deli}/{productId}",
new {
controller = "Emlak",
action = "Index",
productId = UrlParameter.Optional,
deli = UrlParameter.Optional
}
);

除非您有其他一些路由定义或不使用您提供的代码,否则这绝对应该有效。

关于c# - ASP.NET MVC 3 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5756510/

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