ビューで使用するために2つのモデルを組み合わせるのに問題があります。統合モデルオブジェクトを作成しました。
Public Class BusinessFormModel
Public Property busModel As Business
Public Property busMetaModel As BusinessMeta
Public Sub New()
busModel = New Business
busMetaModel = New BusinessMeta
End Sub
End Class
私の見解では、次のようなフォームがあります。
@ModelType business.BusinessFormModel
@Html.TextBox("business_category", Model.busModel.business_category)
..
@Html.TextBox("business_name", Model.busMetaModel.business_name)
..
@Html.TextBox("business_description", Model.busMetaModel.business_description)
私のコントローラーは次のようになります。
Function ShowForm() As ActionResult
Dim model As new BusinessFormModel
model.busModel.PopulateFromId(2)
model.busMetaModel.PopulateFromId(2)
Return View(model)
End Function
Function Submit(ByVal model As BusinessFormModel) As String
model.busModel.UpdateCategory()
...
model.busMetaModel.UpdateBusinessDescription()
Return "Submitted"
End Function
基本的に、ShowFormは、IDに基づいてデータベースからの値をオブジェクトに入力します。idもこのモデルのプロパティです。次に、フォームが送信されると、IDに基づいて特定のフィールドを更新する機能があります。ただし、Submit()が呼び出されると、渡されるオブジェクトに値が含まれているように見えNothing
ます。少なくとも、HTMLヘルパーコントロールにバインドされたデータを取得する必要がありますよね?
フォームを送信すると、コントローラーに返されるモデルオブジェクトにデータが含まれていないため、これが正しく行われているかどうかはわかりません。ビューで正しいステートメントを実行していますか?
ありがとう。