加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 当前上下文错误中不存在名称“Url”

发布时间:2020-12-16 07:17:32 所属栏目:asp.Net 来源:网络整理
导读:我有一个MVC4项目,我正在尝试创建一个帮助器.我添加了一个名为“App_Code”的文件夹,在该文件夹中我添加了一个名为MyHelpers.cshtml的文件.以下是该文件的全部内容: @helper MakeButton(string linkText,string actionName,string controllerName,string ic
我有一个MVC4项目,我正在尝试创建一个帮助器.我添加了一个名为“App_Code”的文件夹,在该文件夹中我添加了一个名为MyHelpers.cshtml的文件.以下是该文件的全部内容:

@helper MakeButton(string linkText,string actionName,string controllerName,string iconName,string classes) {
    <a href='@Url.Action(linkText,actionName,controllerName)' class="btn @classes">Primary link</a>
}

(我知道有一些未使用的参数,我会在我修复之后再找到它们)

我“清理”并构建解决方案,没有错误.

在使用帮助程序的页面中,我添加了此代码.

@MyHelpers.MakeButton("Back","CreateOffer","Merchant","","btn-primary")

当我尝试运行该项目时,我收到以下错误:

Compiler Error Message: CS0103: The name ‘Url’ does not exist in the
current context

我似乎找不到写这个的正确方法 – 我做错了什么?与我在网上看到的例子相比,它似乎是正确的吗?

解决方法

正如JeffB的链接所示,您的帮助文件无法访问UrlHelper对象.

这是一个示例修复:

@helper MakeButton(string linkText,string classes) {

    System.Web.Mvc.UrlHelper urlHelper =
        new System.Web.Mvc.UrlHelper(Request.RequestContext);
    <a href='@urlHelper.Action(linkText,controllerName)'
        class="btn @classes">Primary link</a>
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读