0
我在MVC新的,定义为我的路线遵循:MVC路由:生成多个过滤器参数之间的短跑在地址
routes.MapRoute(
name: "NewRoute",
url: "P/{colorname}-{id}/{statename}-{materialtype}-{HasPrice}",
defaults: new
{
controller = "Products",
action = "P",
id = UrlParameter.Optional,
statename = UrlParameter.Optional,
colorname = UrlParameter.Optional,
materialtype = UrlParameter.Optional,
HasPrice = UrlParameter.Optional
}
);
当用户搜索在我的网站,我想表现出以下网址:
P /قیمت-نوعمواد-ناماستان/شماره-رنگ
,但得到404错误,并出示此URL:/ P/-/-
请帮我... 感谢s ...
感谢您的详细解释...但是当我使用这个ActionLink时,它会转到myDefault路由...我的默认路由在NewRoute后定义..请帮助我... –
看起来您的话也可能有空格在他们之间,这是不允许的一个URL。请参阅[(请)停止在URL中使用不安全的字符](https://perishablepress.com/stop-using-unsafe-characters-in-urls/)以查看URL中允许和不允许使用哪些字符的细目。我建议你使用占位符字符或标记作为空间,让你的应用程序在令牌到达你的控制器之前做一个替换,例如在值提供程序或过滤器中。 – NightOwl888