不能在类文件中使用Url.Action

qin*_*126 3 asp.net-mvc asp.net-mvc-3

在我的asp.net mvc3网站上,我Url.Action在视图中使用生成url.

@Url.Action("Profile", "Users", new { @Id = Model.UserId, name = Model.NickName })
Run Code Online (Sandbox Code Playgroud)

现在,在我的助手课程中,我需要做同样的事情.但得到此错误消息,"名称'Url'在当前上下文中不存在.

有没有我可以用来生成网址的功能?

Ser*_*kin 12

您的示例中的@Url是UrlHelper类的实例.您可以创建它的实例并在任何类中使用,如下例所示,但您需要访问RequestContext相应View 的(在我的示例中为命名上下文).

var urlHelper = new UrlHelper(context);
string absUrl = urlHelper.Action("ActionName", 
          "ControllerName", null, Request.Url.Scheme);
Run Code Online (Sandbox Code Playgroud)