【发布时间】:2020-06-02 12:20:51
【问题描述】:
我正在使用 ASP .NET MVC Beta,当我使用这个结尾带有“点”的 url 时,我收到 HTTP 404(找不到资源)错误:
http://localhost:81/Title/Edit/Code1.
如果我删除了末尾的点或点位于中间的某个位置,我不会收到错误消息。
我尝试调试,但在 MvcHandler 中的 ProcessRequest 之前,我从“System.Web.CachedPathData.GetConfigPathData(String configPath)”收到错误。
网址末尾是否不允许使用“点”?或者有没有办法修复路由定义来处理这个url?
例如:我有一个名为 Detail1 [Id(integer), Code(string), Description(string)] 的表,它通过它的 Id 列与 Master1 具有 FK 关系。每当我选择 Master1 的记录时,我也会选择它的 Detail1 记录来获取它的 Code 字段。为了不每次都做这个join(因为通常不是只有一个细节,有多个)我选择不使用Id列,我做了Detail1的代码PK。
但是当我摆脱 Id 并使用 Code 作为 PK 时,我的路线也开始使用 Code 字段,例如:Detail1\Edit\Code1
此代码可以包含任何内容或结尾,包括 DOT。在某些情况下,我可以在最后禁止 DOT,但有时它真的很有意义。
而且我也看到了这个post 路线可以非常灵活,所以我不认为我的很奇怪。
所以这就是为什么我做一些如此不标准的事情。有什么建议吗?
还有为什么在 url 末尾有一个 DOT 很奇怪?
【问题讨论】:
-
不确定这是否仍然适合您,但我为旧 ASP.NET 版本添加了一个实际解决方案,请查看 ;)。
-
如果您想为您的问题添加更多信息,只需编辑您的问题(单击问题下方的“编辑”链接)。要评论您收到的答案,请使用答案下方的评论工具。如果您发现评论空间不足,您可能应该进行编辑。答案应该就是这样,直接回答您的问题。
标签: .net asp.net-mvc routing routes