ASP.Net MVC 从 ActionLink 返回值
我正在构建一个收款人网格......带有几列的简单网格。我的看法有以下几点:
<table width="600" cellspacing="3" cellpadding="0" border="0">
收款人姓名 用过的 未来付款设置 交易数量
<% foreach (Model.PayeeListeItems 中的 var p) {%> <%=Html.ActionLink("修改", "修改", p.PayeeId) %> <%=p.Name %> <%=p.IsUsed.ToString() %> <%=p.IsAssignedToBill.ToString() %> <%=p.TransactionCount.ToString() %>
<% }%>
这是我正在与之对抗的 ActionLink。我的控制器中有一个修改方法,但我不确定如何获取我试图传递的 PayeeId,这是选定的收款人...
当我在运行时单击链接时,我得到:
参数字典包含一个方法“System.Web.Mvc.ActionResult Modify(Int32)”的不可空类型“System.Int32”的参数“id”为空条目可选参数必须是引用类型、可为空类型或声明为可选参数。 参数名称:parameters
我的控制器方法如下所示:
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);
}
I am building a grid of Payees... Simple grid with a few columns. My view has the following:
<table width="600" cellspacing="3" cellpadding="0" border="0">
Payee Name
Used
Future Payments set
No. Transactions
<% foreach (var p in Model.PayeeListeItems)
{%>
<%=Html.ActionLink("Modify", "Modify", p.PayeeId) %>
<%=p.Name %>
<%=p.IsUsed.ToString() %>
<%=p.IsAssignedToBill.ToString() %>
<%=p.TransactionCount.ToString() %>
<%
}%>
It's the ActionLink I am battling with. I have a Modify method in my Controller, but I'm not sure how to get the PayeeId I am trying to pass, which is the selected Payee...
When I click the link at runtime, I get:
The parameters dictionary contains a null entry for parameter 'id' of non-nullable type 'System.Int32' for method 'System.Web.Mvc.ActionResult Modify(Int32)' An optional parameter must be a reference type, a nullable type, or be declared as an optional parameter.
Parameter name: parameters
My controller method looks like this:
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);
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您使用 p.payeeId 作为 RouteValues 参数,对吗?您需要将其作为对象传递。所以你的 ActionLink 看起来像这样:
You're using p.payeeId as the RouteValues parameter, right? You need to pass it in as an object. So your ActionLink would look something like: