2016-11-29 7 views
0

私は、ページのステータス、データ、および設定を詳述する多くの子オブジェクトを含む複雑なモデルオブジェクトを持っています。モデルの子は基本クラスとして定義され、実際に子孫クラスのインスタンスとして渡され、レンダリングされるビューに渡されます。MVC 5 Html.LabelForモデルを使用しないで

私はモデルオブジェクトをOKに渡して、データと設定オブジェクトを保持するローカル変数を作成できますが、今ではテキストボックスとそのラベルにいくつかの値を表示します。ここで

は、ビュー内の変数の作成です:

@model PageBase 
@{ 
    PageConfigPersonal config = (PageConfigPersonal)Model.PageConfig; 
    PageDataPersonal data = (PageDataPersonal)Model.PageData; 
} 
私は、Html.TextBoxForは、これらのローカル変数を使用することができた場合、またはどのように把握することはできません

- これが行われ、そうであればどのようにすることができます?

私はモデルをキャストすることができますが、それは本当に面倒で扱いにくくなるため、代わりにローカル変数を使用したいと思います。

ゴードン

答えて

0

まだあなたは、以下のように

@Html.TextBoxFor(m => config.<model variable name>) 
+1

をTextBoxForため、ローカル変数を使用することができます私は、ラムダ式は、モデル、 'config'を内部のプロパティを返す必要があり、これが正しいとは思いません –

+0

m => data.Nameを使用するとidが "config.Name"のコントロールが生成され、サーバーにポストバックするとうまく動作しないことが確認できます。現時点では、((PageDataPersonal)m.PageData).Nameを使用してキャストしていますが、これは入力する手間がかかりますが動作しています。私は単純な方法を探していただけでした。 – OzTrak

関連する問題