複数のモデルタプルをコントローラーにポストするためのMVCカスタムモデルバインダーの作成について支援が必要です。カスタムモデルバインダーを使用したことはありません。この問題に対する他の回答を検討しましたが、モデルのタプルを処理したり、望ましい解決策を提供したりすることに近づいていないようです。どんなアイデアでも大歓迎です。- ありがとう
意見
@model Tuple<Contact, Communications, Addresses>
@using (Html.BeginForm()) {
<div id="contact">
<div class="editor-label">
@Html.LabelFor(m => m.Item1.FirstName)
</div>
<div class="editor-field">
@Html.TextBoxFor(m => m.Item1.FirstName)
</div>
<div class="editor-label">
@Html.LabelFor(m => m.Item1.LastName)
</div>
<div class="editor-field">
@Html.TextBoxFor(m => m.Item1.LastName)
</div>
<div>
<input type="submit" value="Create" />
</div>
</div>
<div id="communication">
<div class="editor-label">
@Html.LabelFor(m => m.Item2.TelephoneValue)
</div>
<div class="editor-field">
@Html.TextBoxFor(m => m.Item2.TelephoneValue)
</div>
</div>
<div id="address">
<div class="editor-label">
@Html.LabelFor(m => m.Item3.Address1)
</div>
<div class="editor-field">
@Html.TextBoxFor(m => m.Item3.Address1
</div>
<div class="editor-label">
@Html.LabelFor(m => m.Item3.City)
</div>
<div class="editor-field">
@Html.TextBoxFor(m => m.Item3.City)
</div>
<div class="editor-label">
@Html.LabelFor(m => m.Item3.StateProvince)
</div>
<div class="editor-field">
@Html.TextBoxFor(m => m.Item3.StateProvince)
</div>
<div class="editor-label">
@Html.LabelFor(m => m.Item3.PostalCode)
</div>
<div class="editor-field">
@Html.TextBoxFor(m => m.Item3.PostalCode, new { id = "zip", style = "width:90px;" })
</div>
</div>
}
コントローラー
[HttpPost]
public ActionResult CreateContact(Tuple<Contact, Communications, Addresses> tuple) {
//…. Do tuple processing to transfer values to add values to App Service here.
}