0

モデルにnullクラスがある場合、MVCでtextboxforを使用してテキストボックスをレンダリングするにはどうすればよいですか。

たとえば、モデルとして使用しているものは次のとおりです。

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

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

したがって、クラス1の値のテーブルがあり、ユーザーがクリックしてClassOneの既存のアイテムを編集します。ClassOneでは、オブジェクトClassTwoはテーブル内のアイテムの最初の作成時に設定されていなかったためnullであるため、実行しようとすると@Html.TextBoxFor(m => m.classTwoObject.classTwoProperty)null参照エラーが発生します。

ポストバック時にモデルにバインドしたいので、TextBoxForを使用してnullオブジェクトを含むフィールドを編集するにはどうすればよいですか?

ありがとう、DMan

4

2 に答える 2

2

戻ったときは、プロパティをClassOne初期化する必要がありますclassTwoObjectnew ClassTwo()

-上記のブルックのように。私を殴ってください。

于 2012-10-22T17:50:44.387 に答える
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()};
于 2012-10-22T17:53:27.637 に答える