我有一个技能列表,我希望显示代言人,为此我决定使用HTML Action Link发布ID,然后检索另一个DIV类中的代言人:
将显示所有技能作为超链接的div类:
<div class="skill">
@foreach (var skl in model.userskills)
{
@Html.ActionLink(@skl.userskill_content , "Index" , "Home" , new {skl.userskill_id} , null);
</div>
显示所有代言人的div类:
<div class="endorsers">
@foreach (var skill in model.endorsers)
{
@skl.user_forename @skil._user_surname
}
</div>
如何将'new {skl.userskill_id}'传递给控制器,这样每个代言人都能根据这个特定的userskill_id?因此,如果我点击此超链接“C#”技能,它将根据“C#”的ID加载代言人列表。
我希望这很清楚。谢谢
答案 0 :(得分:1)
您需要在参数前添加id=
:
@Html.ActionLink(@skl.userskill_content ,
"Index" , "Home" , new {id = skl.userskill_id} , null);
您还必须确保控制器操作是HTTP get,因为ActionLink
将调用此方法,并确保您的控制器参数匹配,即
public ActionResult AnAction(int id)
答案 1 :(得分:0)
您需要在参数前添加Parametername =。比如动作参数名称 Id 而不是
@Html.ActionLink(@skl.userskill_content ,
"Index" , "Home" , new {id = skl.userskill_id} , null);
OR
@Html.ActionLink(@skl.userskill_content ,
"Index" , "Home" , new {parameterName= skl.userskill_id} , null);
传递同名参数。你已经在控制器动作中定义了。