在Action方法的参数中获取Null值

肖艾布·艾哈迈德(Shoaib Ahmed)

我在我的操作方法的参数中得到了空值。

这是我的行动方法

 [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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章