获取类库中的Route的URL - ASP.NET MVC

时间:2009-09-29 14:06:36

标签: asp.net-mvc

我有一个类库,可以在我的应用程序中发送各种事件的电子邮件。电子邮件的一部分是返回受影响的网站区域的链接。

是否有类似于Url.Action()的类库来生成链接?

2 个答案:

答案 0 :(得分:0)

假设电子邮件是由MVC网站中的某个地方生成的,您可以随时将控制器中的Url传递到您的类库中,以便在那里创建网址...

你的控制器

public ActionResult SendOutEmail()
{
  MyClass myClass = new MyClass();
  CreateMyEmail(Url, myClass);

  return View();
}

你的图书馆课......

public static void CreateMyEmail(UrlHelper url, MyClass informationToSend)
{
  string myUrl = url.Action(...);

  //and the rest of your class...
}

答案 1 :(得分:0)

var requestContext = ControllerContext.RequestContext;
var routeData = ControllerContext.RouteData;

...

var path = routeData.Route.GetVirtualPath(requestContext, routeData.Values).VirtualPath;