我一直遇到网址和路由问题
无法在SO上找到答案
我想在一个地方管理我的所有网址/链接。
这是我的C#MVC代码和js / jquery ajax代码。
这些网址分散在我的申请中
迁移到生产服务器需要一些修复,我不喜欢我需要查找应用程序中的所有事件。
我不介意修一次 - 但我只想做一次。
任何有关如何管理所有这些链接/网址的想法都将非常受欢迎。
快乐的广告享受生活,朱利安
答案 0 :(得分:0)
取决于,如果您有应用程序读取某些网址,并且这些网址偶尔会更改。那么您可能需要考虑将所有这些URL放入数据库表/ etc并使用特定密钥检索它们。
这样,当您的网址发生变化时,您只需要更改数据库中的网址,所有应用程序仍然可以正常运行。
答案 1 :(得分:0)
应该在一个地方管理网址:RegisterRoutes
中的Global.asax
静态方法。在应用程序的绝对所有其他部分中,您应该在处理/生成URL时使用Html帮助程序。这样您就不会遇到问题,因为帮助者会考虑您的路由系统。
所以不要写:
$('#foo').click(function() {
$('#result').load('/mycontroller/myaction');
return false;
});
使用HTML帮助程序生成此foo:
<%: Html.Action("foo", "myaction", "mycontroller") %>
然后:
$('#foo').click(function() {
$('#result').load(this.href);
return false;
});
永远不要在您的应用程序中对单个网址进行硬编码,当然除了global.asax之外,global.asax是唯一应该定义的集中位置网址。所以基本上每当你发现自己在global.asax以外的其他部分写出/foo/bar
形式的东西时,你做错了。
答案 2 :(得分:0)
考虑使用T4MVC
您可以使用Html.ActionLink或 Html.BuildUrlFromExpression(c =&gt; c.ControllerAction())