为什么我在尝试生成ActionLink时出错?

时间:2017-11-13 12:43:18

标签: c# asp.net-mvc razor

我有这个HtmlHelper:

Snackbar snack = Snackbar.make(findViewById(android.R.id.content), "Had a snack at Snackbar", Snackbar.LENGTH_LONG);

View view = snack.getView();
FrameLayout.LayoutParams params =(FrameLayout.LayoutParams)view.getLayoutParams();
params.gravity = Gravity.TOP;
view.setLayoutParams(params);
snack.show();

在这一行,

@foreach (var item in Model) 
{
<tr>
    <td>
        @Html.ActionLink(modelItem => item.LayoutID, "someAction");
    </td>        
</tr>
}

我收到此错误:

@Html.ActionLink(modelItem => item.LayoutID, "someAction");

为什么我会收到上述错误? LayoutID是字符串类型。

修改 改进格式

2 个答案:

答案 0 :(得分:1)

ActionLink方法的第一个参数必须是string,它将显示为锚标记文本。您正在尝试传递lamda表达式。

@foreach(var item in Model)
{
   <tr>
      <td> @Html.ActionLink(item.LayoutID, "someAction") </td>
   </tr>
}

答案 1 :(得分:0)

你不能使用modelitem作为actionlink.actionlink中的参数必须有字符串值作为参数 尝试以下代码:

   @Html.ActionLink(item.LayoutID, "someAction")

或者我建议你直接写下字符串

 @Html.ActionLink("View Report", "someAction")