如何通过ActionLink从显示模板传递html对象?

时间:2014-10-22 17:52:09

标签: asp.net-mvc

Day的显示模板中,当我执行以下操作时,它可以正常工作:

@Html.ActionLink("Edit", "Edit", "Days")

但是,我想将当天的id传递给控制器​​动作。所以当我尝试这样做时:

@Html.ActionLink("Edit", "Edit", "Days", new {id = m.Id})

它抛出错误说:

Cannot resolve action Edit并建议我使用操作Shared创建一个名为Edit的新控制器。我的显示模板位于名为Shared的文件夹中,可以解释此建议操作。

如何从显示模板中将id传递给我选择的控制器?

编辑:整个显示模板代码如下所示 -

@model HashSet<Models.Day>

@foreach (var m in Model)
{
    @Html.Label(m.dayOfWeek) <br />
    @Html.Label("Start Time " + m.startTime.TimeOfDay.ToString())
    @Html.Label("End Time " + m.endTime.TimeOfDay.ToString())
    @Html.ActionLink("Edit", "Edit", "Days", htmlAttributes: new object{id = m.Id})
}

1 个答案:

答案 0 :(得分:1)

您可以尝试使用此重载。

@Html.ActionLink("Edit", "Edit", "Days", new {id = m.Id}, null) 

这会将id作为参数传递给Edit控制器的Days操作。