我在我的操作方法的参数中得到了空值。
这是我的行动方法
[HttpGet]
public ActionResult ProjectData(int? formId)
{
if (formId == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
return View();
}
}
这是我对actionlink的看法
@foreach (var projects in Model)
{
int formId = Convert.ToInt32(@projects.FormId);
<tr>
<td>@projects.Serial</td>
<td>@projects.ProjectName</td>
@*<td><a href="#">@projects.SurveyName</a></td>*@
@*<td>@Html.ActionLink(@projects.SurveyName, "ActionName", new { id = @projects.FormId })</td>*@
<td>@Html.ActionLink(@projects.SurveyName, "ProjectData" , "Home", new {id = formId}, null)</td>
<td>@projects.TotalSubmission</td>
<td>@projects.LastSubmissionTime</td>
<td>@projects.SubmissionToday</td>
</tr>
}
我正在使用用户定义类型模型的列表:
@model IEnumerable<MVC.ProjectInformation>
当我在循环下单击actionlink时,它应该将ID发送给控制器actionmethod,但我总是得到参数null。具体的动作链接:
@ Html.ActionLink(@ projects.SurveyName,“ ProjectData”,“ Home”,新的{id = formId},null)
我可以通过在View上调试来查看ID,但是在控制器actionmethod上我无法获取该ID值。
ActionLink的routeValues对象属性需要与控制器操作的参数匹配。
目前是
new { id = formId }
与参数不匹配 ProjectData
public ActionResult ProjectData(int? formId)
更新以匹配
@Html.ActionLink(@projects.SurveyName, "ProjectData" , "Home", new {formId = formId}, null)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句