我在foreach
循环中有一个actionlink。根据模型项目,我将动态生成带有值的链接按钮。
这就是它的外观
@foreach (var group in Model.records)
{
<tr>
<td>@Html.ActionLink(@group.clientId.ToString(), "detailsbyClientId", "DocumentVerification", new { id = @group.clientId.ToString()},null)</td>
<td>@group.clientName</td>
<td>@group.Count</td>
</tr>
}
点击链接按钮,我将调用部分视图,如下所示。
[HttpGet]
public PartialViewResult detailsbyClientId(int? clientId)
{
return PartialView();
}
我收到null
的{{1}}值,但clientId
包含有效值。
答案 0 :(得分:0)
试试这个:
该点是您传递的变量的名称,并且期望控制器中的值的变量名称应该相同。
@foreach (var group in Model.records)
{
<tr>
<td>@Html.ActionLink(@group.clientId.ToString(), "detailsbyClientId", "DocumentVerification", new { clientId = group.clientId},null)</td>
<td>@group.clientName</td>
<td>@group.Count</td>
</tr>
}
[HttpGet]
public PartialViewResult detailsbyClientId(int? clientId)
{
return PartialView();
}
答案 1 :(得分:0)
方法中的参数名为clientId
,但您生成的查询字符串值为id
。更改一个或另一个以匹配
public PartialViewResult detailsbyClientId(int? ID)
{
....
}
并在视图中
@Html.ActionLink(@group.clientId.ToString(), "detailsbyClientId", "DocumentVerification", new { id = group.clientId },null)
请注意,您不需要第4个参数中的@
或.ToString()
- 只需new { id = group.clientId }