【问题标题】:how to pass part's of a main view's model to partial view如何将主视图模型的一部分传递给局部视图
【发布时间】:2010-10-20 00:26:09
【问题描述】:

我有下面的视图模型,其中包含学校和地址对象,例如

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

    }
} 

并且我有学生、老师和其他对象的地址带有 addressId 字段,当我创建学校对象时,由于学校对象有 addressID,我必须通过对地址对象进行部分视图来创建地址对象和学校对象,这样我就不会为所有需要地址的对象重复地址字段。因此学校创建视图将具有 SchoolViewModel,以接受两个对象字段。因此,创建视图是 SchoolViewModel 对象的强类型视图。对于地址创建,我使用 Model.schoolAddress 对象对部分视图进行了强类型化。问题是 Model.schoolAddress 为空。像 但是当地址部分视图是 SchoolViewModel 对象的强类型时,我可以获得 schoolAddress 的值。拜托,请你给我一些想法,或者我该如何继续其他解决方案?

【问题讨论】:

  • 请原谅我的写作方式,我发的时候很着急。

标签: asp.net-mvc


【解决方案1】:

我真的建议你重写你的问题,这样更清楚。

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

如果你这样做了

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

那么addressPartialView 中的Model 将没有schoolAddress 属性,它将是schoolAddress 的一个实例。

当然,如果这很离谱,那么我强烈建议重新措辞原来的问题。

【讨论】:

  • 谢谢,你肯定明白我的问题,我真的想将 Model.SchoolAddress 对象的实例发送到局部视图。但问题是 Model.SchoolAddress 为空。
猜你喜欢
  • 2019-02-01
  • 1970-01-01
  • 2014-02-05
  • 1970-01-01
  • 2023-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多