I'm just getting into ASP.NET MVC, and am not sure how to solve the following issue which has come up in an excercise in a text book:
I have a View as below that is currently bound to a model "ShippingDetails". The View / Controller uses model binding to map the form fields that currently exist back to the ShippingDetails model.
I want to be able to use a second model here for credit card data, but am not sure how to start off. Do I need to create a container object and use that as the model?
I presume this would break the model binding that exists, as the form data won't map directly on to a property of the model?
I've found a post (http://stackoverflow.com/questions/4764011/multiple-models-in-a-view) that addresses the same issue in a different View engine, but I'd prefer to learn using the default view first off.
I've also seen examples using view data, but this doesn't appear that elegant.
How do I go about what I am trying to achieve here?
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<SportsStore.DomainModel.Entities.ShippingDetails>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
SportsStore: Check Out
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>Check out now</h2>
Please enter your details, and we'll ship your goods right away!
<%= Html.ValidationSummary() %>
<%
using (Html.BeginForm()) { %>
<h3>Ship to</h3>
<div>Name: <%= Html.TextBox("Name") %></div>
<h3>Address</h3>
<div>Line 1: <%= Html.TextBox("Line1") %></div>
<div>Line 2: <%= Html.TextBox("Line2") %></div>
<div>Line 3: <%= Html.TextBox("Line3") %></div>
<div>City: <%= Html.TextBox("City") %></div>
<div>State: <%= Html.TextBox("State") %></div>
<div>Zip: <%= Html.TextBox("Zip") %></div>
<div>Country: <%= Html.TextBox("Country") %></div>
<h3>Options</h3>
<%= Html.CheckBox("GiftWrap") %> Gift wrap these items
<p align="center"><input type="submit" value="Complete Order" /></p>
<%
}
%>
</asp:Content>