c# - ASP.NET Core MVC 路由到带有参数的 url
问题描述
我使用 ASP.NET Core 2.1 MVC 创建了一个 Web 应用程序。目前我在发布应用程序时遇到路由问题。将发布应用程序的 url 格式是这样的:https://hostername.com/{some_parameter}
从我的应用程序生成的所有 url-s 都应该“附加”到上述 url。
所以我需要有这样的路由:
https://hostername.com/{some_parameter}/{controller}/{action}/{id}
一些例子 :
- https://hostername.com/ApplicationName/Home/Profile
- https://hostername.com/ApplicationName/Home/Settings
- https://hostername.com/ApplicationName/FAQ etc...
在阅读了关于 stackoverflow 的几个问题/解决方案后,我对此的解决方案:将默认路由更改为
routes.MapRoute(
name: "default",
template: $"{{parameter={settings.PrefixURL}}}/{{controller=Home}}/{{action=Index}}/{{id?}}");
它的价值在哪里settings.PrefixURL => it's the some_parameter
,它是动态的。
我面临的问题=> url中的参数加倍,例如:
- https://hostername.com/ApplicationName/Home/Home/Profile
- https://hostername.com/ApplicationName/ApplicationName/FAQ
在本地测试时,默认路由的配置运行良好,但在发布路由后仍然有效,但 url 错误。什么可能导致问题?创建区域会解决路由到那种 url 的问题吗?
谢谢你。
解决方案
对我来说,工作是编辑 web.config 文件上的路径,而让其余的灵魂保持不变。从path="*"
到path="/ApplicationName"
哪里 ApplicationName 是所需的路由参数。
推荐阅读
- python - 如何在 Tkinter 中修改“askstring”对话框的大小?在蟒蛇
- c - 如何使用 -Wstringop-overread 处理特殊指针
- database - 如何同步到 MS Access 中的表?
- python-3.x - 引发不同异常的函数的单元测试
- c - Kernighan 和 Ritchie 练习 3.4
- user-interface - 如何从两列数据制作一个 Power BI 饼图小部件/或将两个饼图合并为一个
- c# - 如何计算两个波斯日期之间的总天数(以 yyyy/MM 格式)?
- python - 为什么`0--3//2`和`--3//2`之间有区别?
- c# - 我的项目中没有“添加参考”
- typeorm - TypeORM:findOne 在关系上应用了“关系”和“where”条件 - EntityColumnNotFound:未找到实体列