C# 在MVC中从类库创建超链接

C# 在MVC中从类库创建超链接,c#,asp.net-mvc,C#,Asp.net Mvc,我试图从类库项目创建超链接,但得到的结果为空 代码: 有没有办法从类库项目创建超链接?如果是,怎么做 编辑: urlHelper是System.Web.Mvc urlHelper正在返回空字符串。如果代码在控制器中,则不需要创建urlHelper类的实例。控制器类具有类型为UlrHelper()的Url属性 在控制器中,您将拥有: var url = Url.Action("View", "Collection", new { area = "Administration", id = Requ

我试图从类库项目创建超链接,但得到的结果为空

代码:

有没有办法从类库项目创建超链接?如果是,怎么做

编辑

urlHelper
System.Web.Mvc

urlHelper正在返回空字符串。

如果代码在控制器中,则不需要创建
urlHelper
类的实例。控制器类具有类型为
UlrHelper
()的Url属性

在控制器中,您将拥有:

var url = Url.Action("View", "Collection", new { area = "Administration", id = Request.Id });

UrlHelper
您创建的应用程序不知道您的web应用程序中存在的路由。您可以将控制器的
UrlHelper
作为参数传递

你也可以使用

new UrlHelper(requestContext, routeCollection)

这种方法控制器初始化
UrlHelper
类型的属性
Url
我处理这种问题的方法之一是使用依赖项注入,并向库中的类传递一个服务接口(例如:IHyperlinkFormatter),该接口将提供生成Url的方法。这个接口可以由MVC项目中知道可用路由的类实现。通过这样做,您还可以更好地控制单元测试,并通过遵守单一责任原则来提高代码质量


我希望这对你有帮助。

你看到的确切行为是什么?是
url
null
还是
string.Empty
?还是别的?你需要提供更多的信息。如果有人想帮忙,那就太多的猜测了。什么是“观点”?“来自类库的超链接”是什么意思?库中是否有控制器和视图?定义的路线在哪里?等已编辑,请检查@SVI,如果他们没有回答您的问题,请对您问题的答案进行评论。当你无法沟通时,你希望人们如何帮助你?谢谢。更新。还需要收集路线。好建议!非常感谢。
new UrlHelper(requestContext, routeCollection)