public class Employee
{
[Key]
public int ID { get; set; }
public string Name { get; set; }
public int DesignationID { get; set; }
public virtual Designation Designation { get; set; }
}
控制器
public void AccountUpdate(Employee employee) {}
查看: -
<label name= "Name"> Peter </label>
<label name= "DesignationName"> Manager </label>
我将表单集合对象发送到我的 AccountUpdate 操作方法,我收到员工姓名但不是指定名称< / strong>即可。 您能告诉我如何在员工对象
中的Action方法中访问指定名称由于
答案 0 :(得分:1)
ASP.NET MVC模型绑定要求模型上的属性与网页上的字段完全匹配。因此,您需要更改模型属性名称以匹配字段名称:
public class Employee
{
[Key]
public int ID { get; set; }
public string Name { get; set; }
public int DesignationID { get; set; }
public virtual Designation DesignationName { get; set; }
}
或与模型属性名称匹配的字段名称:
<label name= "Name"> Peter </label>
<label name= "Designation"> Manager </label>
或者,如果Designation
类型是无法从string
直接转换的复杂对象,则需要实现自定义模型绑定器和/或类型转换器({{ 3}})。
答案 1 :(得分:1)
How do I create/use a form and model-binder to pass collections from View => Controller
要列出作为另一个类的对象集合的模型属性,请尝试以下方法:
def has_reviewed?
redirect_to album_reviews_path, notice: "You've already written a review for this album." if current_user.reviews.exists?(movie: @movie)
end
在视图中,您必须将人物对象中的汽车对象列为使用属性名称和索引
命名的输入public class Person {
public int ID { get; set;}
public string Name { get; set;}
public List<Car> Cars { get; set;}
}
public class Car {
public int ID { get; set; }
public string name { get; set;}
}
使用此功能,您的模型会自动使用表单
发送的输入填充属性Cars