如何在局部视图中绑定嵌套模型

时间:2017-01-27 07:42:38

标签: c# asp.net model-binding

我使用的是asp.net和razor。 我有一个viewmodel和一个视图。 viewmodel具有嵌套的模型属性。

    public class A {

       Prop 1 {get;set;}
       Prop 2 {get;set;}
       B NestedClass {get;set}

   }

    public class B {

        Prop 1 {get;set;}
        Prop 2 {get;set;}

    }

我不想为B呈现(部分)视图,但仅针对A的某些属性,并使用{{1}加载B的视图在某些时候。

部分视图绑定到B:

ajax

每个设计我想将所有信息存储在一个模型类中。 如何将部分视图字段绑定到@model B 以执行A? 不知怎的,我必须说清楚,我在submit中使用B作为嵌套模型?

更新: 更新的代码段,以便更好地理解/包含错误

1 个答案:

答案 0 :(得分:0)

由于模型绑定使用命名对象,使用Html.Helpers的解决方案将明确设置Name属性:

public Class B{

        Prop 1 {get;set;}
        Prop 2 {get;set;}

    }
B

部分视图将是

@Html.TextBoxFor(m => m.Prop1, new { i, name="NestedClass.Prop1" })