Asp.net mvc @HtmlActionLink可以应用于这种情况,还是我需要使用其他东西?
我有一个ActionResult详细信息() 更新后的ul如下所示:Asp.net mvc @HtmlActionLink可以应用于这种情况,还是我需要使用其他东西?,asp.net-mvc,asp.net-mvc-3,razor,Asp.net Mvc,Asp.net Mvc 3,Razor,我有一个ActionResult详细信息() 更新后的ul如下所示: <div id = "browseShow"> <ul> @foreach (var item in Model) { <li class = "lihead"> @item.Title </li> <li class = "lihead"> @item.Director.Name @Html.ActionLink((
<div id = "browseShow"> <ul>
@foreach (var item in Model)
{
<li class = "lihead">
@item.Title
</li>
<li class = "lihead">
@item.Director.Name
@Html.ActionLink((string)item.Director.Name, "Index" "Director", new { director = item.Director.Name }, null)
</li>
<li>
<i>@item.Synopsis</i>
</li>
<li class = "lihead">
Price per ticket £
@item.Price
</li>
}
您对
Html.ActionLink使用了错误的重载
试试这个
@Html.ActionLink(item.Director.Name.ToString(), "Index", "Director", new { director = item.Director.Name }, null)
现在您正在将RouteValue作为HtmLatAttributes传递。末尾的额外null将调用正确的null
原始帖子已被删除,但您也在director
属性下传递了director名称,但您的方法正在接收int id
。您还需要解决这个问题。控制器名称显示为HTML属性,而不是查询字符串,对吗?我尝试了带有null的ActionLink,但不起作用,我现在有14个错误,第一个是关于html帮助程序的使用:错误1'System.Web.Mvc.HtmlHelper'没有名为'ActionLink'的适用方法,但似乎有一个名为'ActionLink'的扩展方法。无法动态调度扩展方法。考虑在不使用扩展方法语法的情况下强制转换动态参数或调用扩展方法。@ Spangle,直接。名称有类型还是动态类型?试着把它当作一根绳子来拉(string)item.Director.Name
下面的(string)item.Director.Name已删除了一些错误,下一个错误是告诉我应该在“Director”之后关闭一个打开的括号,并且应该插入一个;但这将使这条线提前结束。上次我对字符串进行强制转换时,使用了稍微不同的item.Director.Name.toString()@Spangle,然后出现了语法错误。用修改后的代码更新问题。任何一种铸造方法都应该很好。@Spangle,哎呀,对不起。您最初的示例在Index和Director之间缺少一个逗号,我没有注意到,所以我在示例中继续使用它。把它加进去就行了。
public ActionResult Index(string director)
{
return View();
}
@Html.ActionLink(item.Director.Name.ToString(), "Index", "Director", new { director = item.Director.Name }, null)