MVC - 模型中的null对象,如何使用它渲染textboxfor

时间:2012-10-22 17:47:08

标签: asp.net-mvc razor null html.textboxfor

当我在模型中有一个null类时,如何在MVC中使用textboxfor渲染文本框。

例如,我有以下我用作我的模型

public class ClassOne
{
    public string classOneProperty {get;set;}
    public ClassTwo classTwoObject {get; set;}
}

public class ClassTwo
{
    public string classTwoProperty {get;set;}
}

所以我有一个一级值表,用户点击编辑ClassOne的现有项目。在ClassOne中,对象ClassTwo为null,因为它没有在表中项的初始创建时设置,所以当我尝试@Html.TextBoxFor(m => m.classTwoObject.classTwoProperty)时,我得到一个空引用错误。

我如何使用TextBoxFor编辑其中包含空对象的字段,因为我仍然希望它们在回发时绑定到模型?

谢谢, DMAN

2 个答案:

答案 0 :(得分:2)

当您返回ClassOne时,需要将classTwoObject属性初始化为new ClassTwo()

-Like Brook如上所述。打败我。

答案 1 :(得分:1)

您可以创建初始化classTwoObject

的构造函数
public class ClassOne
{
    public string classOneProperty {get;set;}
    public ClassTwo classTwoObject {get; set;}
    public CLassOne()
    {
        classTwoObject = new ClassTwo();
    }

}

或者只是将其内联初始化

new ClassOne(){classTwoObject=new ClassTwo()};