我在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参数。我在哪里可以指定这个?谢谢!
编辑:供应商名单可能会在某个时候增加到数百个。它们将存储在我的数据库的“组织”表中。对它们进行硬编码不是一种选择。
答案 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" })