[英]Why is my model property not reflected in a razor's auto generated view ? (MVC 4)
我刚开始学习MVC。 所以,这是我的模型课
public class Patient : iPatient, iPerson
{
public string name { get; set; }
public int age { get; set; }
public DateTime dateOfBirth { get; set; }
public Address address { get; set; }
public string bloodGroup { get; set; }
}
因此,当我右键单击控制器的操作方法并添加视图时,脚手架将产生如下视图:
<table>
<tr>
<th>
@Html.DisplayNameFor(model => model.name)
</th>
<th>
@Html.DisplayNameFor(model => model.age)
</th>
<th>
@Html.DisplayNameFor(model => model.dateOfBirth)
</th>
<th>
@Html.DisplayNameFor(model => model.bloodGroup)
</th>
<th></th>
</tr>
它不会产生类似@Html.DisplayNameFor(model=>model.Address.City)
。
为什么会这样呢?
我需要在视图中手动添加它还是对此有任何解决方法?
预先感谢您的回答。
如果我错了,有人可以纠正我,但是我不相信自动脚手架可以对子对象类型做任何事情,它只是脚手架上的基本类型。 您可以自己添加自己,尽管很容易。
您可以使用的一种方法是创建地址的强类型局部视图。
然后,在此视图的代码中,您需要添加的只是
@Html.Partial(Model.Address)
就会显示位于部分视图中的所有地址字段。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.