我正在建立一个Payees网格......有几列的简单网格。我的观点如下:
<table width="600" cellspacing="3" cellpadding="0" border="0">
收款人姓名 用过的 未来付款设定 没有。交易
&lt;%foreach(Model.PayeeListeItems中的var p) {%GT; &lt;%= Html.ActionLink(“修改”,“修改”,p.PayeeId)%&gt; &lt;%= p.Name%&gt; &lt;%= p.IsUsed.ToString()%&gt; &lt;%= p.IsAssignedToBill.ToString()%&gt; &lt;%= p.TransactionCount.ToString()%&gt;
&LT;% }%GT;
这是我正在与之斗争的ActionLink。我的控制器中有一个Modify方法,但我不知道如何获得我想要传递的PayeeId,这是所选的收款人...
当我在运行时单击链接时,我得到:
参数字典包含非可空类型'System.Int32'的参数'id'的空条目,用于方法'System.Web.Mvc.ActionResult Modify(Int32)'可选参数必须是引用类型,a可空类型,或声明为可选参数。 参数名称:参数
我的控制器方法如下所示:
public ActionResult Modify(Int32 id)
{
PayeeDto p = Services.PayeeServices.GetPayeeById(id);
SinglePayeeItem spi = new SinglePayeeItem
{
Deleted = p.Deleted,
Name = p.Name,
PayeeId = p.PayeeId
};
return View(spi);
}
答案 0 :(得分:3)
您使用p.payeeId作为RouteValues参数,对吧?您需要将其作为对象传递。所以你的ActionLink看起来像是:
<%=Html.ActionLink("Modify", "Modify", new { id = p.PayeeId })