ASP.NET MVCでの複雑なモデルのバインドに関して同様の質問が寄せられていることは知っていますが、POSTに返される十分なプレフィックスがないためにバインドに問題があり、簡単な解決策があるかどうか疑問に思いました。
私は次のようなビューモデルを持っています:
public class ViewModel<Survey, Contact>
{
public Survey Model { get; set; }
public Contact Model2 { get; set; }
}
次に、POSTされたものを受け入れるこのようなアクションメソッドがあります
public ActionResult Survey(
string id, string id2, SurveyViewModel<Survey, Contact> model)
{
// code goes here...
}
私のフォームでは、最初の2つのIDはURLルートからのものであり、次の@Html.EditorFor(x => x.Model.SurveyName)
ような名前で生成されたフォームコード(を使用または同様のもの)があります。
<input class="text-box single-line" id="Model_Email"
name="Model.Email" type="text" value="" />
Model.Email
名前をからに変更すると投稿は機能model.Model.Email
しますが、カスタムモデルバインダーを作成する必要がないようにしています。
ある
@Html.EditorFor
型付きビューヘルパーを使用してビューにレンダリングされるすべてのフィールドの名前を変更するためにビューに設定できますか?- アクションのBind属性を使用して変更できるもので、そのオブジェクトへのデフォルトのバインドが可能になりますか?
答えは「カスタムバインダーを作成する」かもしれませんが、私はそれを噛む前に質問をしたかっただけです。
助けてくれてありがとう。よろしくお願いします、
ハル