我有一个观点:
@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
并且操作方法接受与之关联的类型并且它可以正常工作,但不仅仅是模型
答案 0 :(得分:1)
您使用了错误的重载。 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...)
这样的东西。在这种情况下您只需传递员工的身份证件
Ajax.ActionLink(...
"Stuff",
new { ID = Model.ID },
new AjaxOptions
....
public ActionResult Stuff(int ID) {