更改默认地图路线;无法获得内部链接

时间:2015-05-07 20:02:08

标签: c# asp.net asp.net-mvc asp.net-mvc-4

我在asp.net MVC4应用程序中更改了maproute。它现在看起来像这样:

        routes.MapRoute(
            name: "Default",
            url: "{vendorname}/{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );

用户必须始终在URL中键入供应商才能使用。但现在内部链接无法正常工作。

例如,如果我指向" / Manage / Account"它没有将供应商名称保留在前面,这使得它成为无效的URL。我需要它们来维护第一个URL参数。我在哪里可以指定这个?谢谢!

编辑:供应商名单可能会在某个时候增加到数百个。它们将存储在我的数据库的“组织”表中。对它们进行硬编码不是一种选择。

1 个答案:

答案 0 :(得分:2)

在您的观点中尝试此操作:

@Html.ActionLink("Manage Vendor Account", "Account", "Manage", new { vendorname = "vendor1" }, new { @class = "vendorlink" })

哪个链接到" / Vendor1 / Manage / Account"。

如果您只需要HREF的URL,您可以这样做:

@Url.Action("Account", "Manage", new { vendorname = "vendor1" })