[英]Ajax.actionlink object route values returning null
我有一个观点:
@model X.Models.Employee
@Ajax.ActionLink(Model.LastName[lastNameCount - 1].Value1, // <-- Text to display
"Stuff", // <-- Action Method Name
new
{
//LINE CAUSING ISSUE
employee = Model
},
new AjaxOptions
{
bla
},
new
{
@id = "opener"
})
我的控制器动作方法看起来像这样
ActionResult Stuff(Employee employee) {
//stuff
}
为什么我的员工返回null? 不能为对象路由值分配模型?
我已经尝试过Model.property
,并且action方法接受与之关联的类型并且可以工作,但不仅限于Model
您使用了错误的重载。 Employee
是一个复杂的对象,因此请替换第三个参数
Ajax.ActionLink(...
Stuff",
new
{
employee = Model
},
new AjaxOptions
...
同
Ajax.ActionLink(...
Stuff",
Model,
new AjaxOptions
...
但是, Model.LastName[lastNameCount - 1].Value1
建议属性LastName
是一个不能工作的集合(无法为集合创建路由参数,如果您检查html,则会看到类似...LastName=System.Collections.Generic.List...)
。 在这种情况下,您只需要传递员工的ID
Ajax.ActionLink(...
"Stuff",
new { ID = Model.ID },
new AjaxOptions
....
public ActionResult Stuff(int ID) {
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.