asp.net-mvc - 无法在类文件中使用 Url.Action

标签 asp.net-mvc asp.net-mvc-3

在我的 asp.net mvc3 网站中,我在 View 中使用 Url.Action 来生成 url。

@Url.Action("Profile", "Users", new { @Id = Model.UserId, name = Model.NickName })

现在,在我的一个助手类中,我需要做同样的事情。但收到此错误消息“当前上下文中不存在名称“Url”。

还有其他函数可以用来生成网址吗?

最佳答案

您的示例中的

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

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

关于asp.net-mvc - 无法在类文件中使用 Url.Action,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10805121/

相关文章:

c# - 针对 MVC 中非必需属性的整数验证

asp.net-mvc-3 - 使用 redirectAction 和 prg 模式在 Action 之间发送数据

javascript - 如何在表格中显示隐藏特定的div?

asp.net-mvc - 你应该在哪里定期登录 asp.net-mvc ?你应该使用ELMAH吗?

asp.net-mvc - MVC Controller 中的单一职责原则。需要批评

asp.net-mvc - 在 ASP.NET MVC 中创建 Google Chart

c# - 如何在 C# MVC 中通过模型修剪()所有输入

c# - 获取 Http 403.14 错误

asp.net-mvc - RedirectToAction 根本不起作用

javascript - 如何从 jquery 调用值并将值传递给 Controller ​​方法