0

razor我对视图引擎不是很熟悉。我试过这段代码。

@for(var item in ViewBag.list)
{
    @foreach (var itemvote in ViewBag.listVote)
    {
        <h1>@Html.ActionLink(@item.Title, "Details", "Report", new { id = item.Id},null)</h1>
    }
}

它显示以下错误:

编译器错误消息:CS1973:“System.Web.Mvc.HtmlHelper”没有名为“ActionLink”的适用方法,但似乎具有该名称的扩展方法。扩展方法不能动态调度。考虑强制转换动态参数或在没有扩展方法语法的情况下调用扩展方法。

我的控制器类ReportController和方法是Details它将被提交到的。

public ActionResult Details(int id = 0)
        {
            Report report = Context.Reports.Find(id);
            if (report == null)
            {
                return HttpNotFound();
            }
            ViewBag.report = report;

            return View();
        }

我用谷歌搜索并找到了一些链接,如HTML.ActionLink 方法

但我仍然无法纠正它。

4

1 回答 1

0

您的行动号召链接至少有 2 个问题。

首先,第一个参数不需要'@',因为您已经在带有@Html.ActionLink 的行的开头使用了一个。

其次,第一个参数不应该是itemvote.Titleitem.Title,因为您没有名为 的变量item

这可能是您的问题的一部分,因为编译器可能没有意识到 @item.Title 应该是一个字符串,并且有一个有效的签名ActionLink(string, string, string, Object, Object)

于 2013-05-06T00:39:53.093 回答