有没有办法在类库中生成指向MVC操作的超链接?
我们的应用程序中有一些自定义路由,我们在类库中生成一些通知链接。目前,我们对{domain} / {CustomRoute} / {Controller} / {Action} / {QueryString}等路径进行硬编码。但是,我希望能够更好地构建这些链接,例如使用UrlHelper。
答案 0 :(得分:0)
我刚刚做了这样的事情。这是我如何做到的。
首先,我编写了创建URL的方法。这些方法采用形成URL所需的任何参数。这意味着它的逻辑在一个地方,它可以从我的应用程序的其他地方调用。
然后我向UrlHelper
添加了一些新的扩展方法。这些扩展方法又调用我创建URL的方法。现在,我可以使用Razor标记中的@Url.GetMyUrl(args)
。
当然,我仍然有两个版本的URL格式需要同步:一个是我上面描述的方法。另一个是在定义路由映射的代码中。但这似乎是一个合理的妥协。