@using CardNumbers.Helper @model CardNumbers.Models.ClientViewModel <form id="add-edit-form"> <fieldset> <legend>Client Info</legend> @Html.ValidationSummary(true) <input type="hidden" id="fntype" name="fntype" value="Edit"> @Html.HiddenFor(m => m.ClientId) @Html.EditorFor(m => m.ClientNumber, EditorTemplate.TextBox) @Html.EditorFor(m => m.ClientName, EditorTemplate.TextBox) @Html.EditorFor(m => m.Client.Address, EditorTemplate.EditBox) <div id="ContactsInfo"> <div id="Contact1"> @Html.EditorFor(m => m.Client.Contact1) </div> <div id="Contact2"> @Html.EditorFor(m => m.Client.Contact2) </div> </div> @* <div id="SaveCancel" class="float-right"> <button id="btnSave">Save</button> <button type="reset" id ="btnCancel" name="Reset">Cancel</button> </div>*@ </fieldset> </form>I think it's simple enough.
<div class="editor-label"> @Html.Label((ViewData.ModelMetadata.DisplayName??ViewData.ModelMetadata.PropertyName), new Dictionary<string, object> { { "for", ViewData.ModelMetadata.PropertyName } }) </div> <div class="editor-field"> @if (ViewData.ModelMetadata.ModelType.IsNumeric()) { @Html.TextBox("", ViewData.TemplateInfo.FormattedModelValue, new { type = "number", @class = "numericOnly" }) } else { @Html.TextBox("", (object)Model, new Dictionary<string, object> { { "id", ViewData.ModelMetadata.PropertyName }, { "name", ViewData.ModelMetadata.PropertyName }, { "class", "text-box single-line"}, { "data-bind", "value: " + ViewData.ModelMetadata.PropertyName }, }) } @Html.ValidationMessage(ViewData.ModelMetadata.PropertyName, new Dictionary<string, object> { { "data-valmsg-for", ViewData.ModelMetadata.PropertyName } }) </div>PhoneInfo template
@model CardNumbers.Objects.PhoneInfo <div id="PhoneInfo"> <div class="float-left"> @* @Html.EditorFor(model => model.Phone, EditorTemplate.TextBox)*@ <div class="editor-label"> @Html.LabelFor(model => model.Phone) </div> <div class="editor-field"> @Html.EditorFor(model => model.Phone) @Html.ValidationMessageFor(model => model.Phone) </div> </div> <div class="float-right"> @*@Html.EditorFor(model => model.Ext, EditorTemplate.TextBox)*@ <div class="editor-label"> @Html.LabelFor(model => model.Ext) </div> <div class="editor-field"> @Html.EditorFor(model => model.Ext) @Html.ValidationMessageFor(model => model.Ext) </div> </div> </div>And the ContactDetail template
@using CardNumbers.Helper @model CardNumbers.Objects.ContactDetail <div class="editor-label"> @Html.LabelFor(model => model.Contact) </div> <div class="editor-field"> @Html.EditorFor(model => model.Contact) @Html.ValidationMessageFor(model => model.Contact) </div> @*@Html.EditorFor(model => model.Email, EditorTemplate.TextBox)*@ <div class="editor-label"> @Html.LabelFor(model => model.Email) </div> <div class="editor-field"> @Html.EditorFor(model => model.Email) @Html.ValidationMessageFor(model => model.Email) </div> @Html.EditorFor(model => model.phoneInfo)