加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 失败的ASP.NET MVC路由.这是一个错误还是角落?

发布时间:2020-12-15 23:12:20 所属栏目:asp.Net 来源:网络整理
导读:我有一个ASP.NET MVC 3应用程序,用户可以发布建议沿着“bla bla会更好,如果yada yada yada”. 对于建议细节页面,我已经定义了一个很好的SEO友好路线如下: routes.MapRoute(null,"suggestion/{id}/{it}/would-be-better-if-{if}",new { controller = "sugges
我有一个ASP.NET MVC 3应用程序,用户可以发布建议沿着“bla bla会更好,如果yada yada yada”.
对于建议细节页面,我已经定义了一个很好的SEO友好路线如下:
routes.MapRoute(null,"suggestion/{id}/{it}/would-be-better-if-{if}",new { controller = "suggestion",action = "details" });

正如你所看到的,我想要修复“会更好的”部分.

这条路线适用于任何旧的建议,并生成链接,如建议/ 5 /本站/将来更好的如果它有一个iphone应用程序,并且点击链接实际上请求相应的详细信息页面.

我的一个朋友,讽刺的是一个测试者,已经设法不经意地发布了一个实际打破路线的建议:“如果”中间总是对齐,这个网站会更好“.
为此建议生成的链接是
/建议/ 84 /本网站/想成为,更好,如果-想成为,如果此结果总是神韵: – 在最中间.

我已经尝试了Phil Haack’s Routing Debugger,并确认该路线实际上会起作用,直到建议/ 84 /本站/将会更好 – 如果是更好 – 如果 – 因此,第二个“将会更好 – 如果“实际上被接受了;添加任何事情之后,实际上会导致url不匹配任何路由(感谢Omar -see的意见 – 寻求帮助).

请记住,我真的不想改变路线定义,因为我认为这是很好的,我可以管理这种情况下,SEO明智.

那么如何使文本等于路由的固定部分阻止链路匹配路由?为什么路线破裂?

我实际上对于为什么更感兴趣,因为我相信理解为什么会导致一个解决方案,或至少对一个相当有趣的问题的正确理解.

解决方法

这看起来像是一个 ASP.NET routing: Literal sub-segment between tokens,and route values with a character from the literal sub-segment的笨蛋,这是一个更简单的错误版本.我建议关闭这个一个.

我回答了这个问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读