如何将主视图的模型的一部分的传递给局部视图

问题描述:

我有了学校和喜欢如何将主视图的模型的一部分的传递给局部视图

namespace myapplication.ViewModels 
{ 
    public class SchoolViewModel 
    { 
     public Address schoolAddress { get; set; } 
     public School school { get; set; } 

    } 
} 

和Address对象下面的视图模型我有学生,教师和其他对象具有地址与addressId字段中,当我创建学校对象时,由于学校对象具有addressID,因此我必须通过对地址对象进行局部视图来创建地址对象和学校对象,以便我不会为所有需要地址的对象重复地址字段。所以学校创建视图将具有SchoolViewModel,接受两个对象fields.so创建视图是SchoolViewModel对象的强类型视图。而对于地址创建,我使用Model.schoolAddress对象强制键入部分视图。问题是Model.schoolAddress为空。像<%Html.RenderPartial(“addressPartilaView”,Model.schoolAddress);%>但是当地址部分视图是强类型的SchoolViewModel对象时,我可以获得schoolAddress的值。请,请你给我一些关于这个的想法,或者我怎样才能继续使用其他解决方案?

+0

请以我的写作方式感到抱歉,我在发布时很匆忙。 – helen 2010-10-15 09:03:14

我真的会推荐重写你的问题,所以它更清晰。

但是,在努力解读你的意思之后,我认为问题在于你有时会通过schoolAddress作为模型,然后仍然期望模型具有schoolAddress的属性。

如果你

<% Html.RenderPartial("addressPartialView", Model.schoolAddress);%> 

然后在addressPartialViewModel不会有schoolAddress财产,这将是schoolAddress一个实例。

当然,如果这是很好的基础,那么我强烈建议改写原来的问题。

+0

谢谢,当然你得到我的问题,我真的想将Model.SchoolAddress对象的实例发送到局部视图。但问题是Model.SchoolAddress为空。 – 2010-10-19 16:26:09