私は MVC 3 が初めてで、正しいアプローチについて質問があります。
モデルがあると想像してください:
public class MyCustomModel
{
[Required]
public string UserName { get; set; }
[Required]
public DateTime? Birthdate { get; set; }
[Required]
public string City {get;set;} //To partial view
[Required]
public string Street {get;set;} //To partial view
}
そして、ここに私は見解を持っています
@Html.TextBoxFor(m => m.UserName) @Html.TextBoxFor(m => m.BirthDate) @Html.Action("LocationGroup", "Home") //これで都市と通りがレンダリングされます
私の部分ビューは次のようなものになります: @Html.TextBoxFor(m => m.City) @Html.TextBoxFor(m => m.Street)
そして、これはコントローラーのアクションです:
[ChildActionOnly]
public ActionResult LocationGroup()
{
MyCustomModel model = new MyCustomModel (); //Should i really instantiate a new instace of the model??? and pass it to the partial view
return PartialView("_TempView", model);
}
基本的に、私の一般的なビューには texboxex を含むすべてのフィールドがありますが、部分ビューでは、モデルからのこれらのプロパティのいくつかを正しくレンダリングし、フォームを送信した後、他のすべてのプロパティと同じモデルで利用できるようにしたいと考えています。 .
私の質問は、部分ビューを送り返すアクションで、モデルの新しいインスタンスを本当にインスタンス化する必要がありますか? しかし、データはモデルの 2 つのインスタンスに分割されますか?
それをどのように配置するか、どうすれば部分ビューから一般的なビューモデルにデータを渡すことができますか?