@inherits Umbraco.Web.Macros.PartialViewMacroPage @using System.Web.Mvc.Html @using ClientDependency.Core.Mvc @using Umbraco.Web @using Umbraco.Web.Controllers @{ var profileModel = Members.GetCurrentMemberProfileModel(); Html.EnableClientValidation(); Html.EnableUnobtrusiveJavaScript(); Html.RequiresJs("/umbraco_client/ui/jquery.js"); Html.RequiresJs("/umbraco_client/Application/JQuery/jquery.validate.min.js"); Html.RequiresJs("/umbraco_client/Application/JQuery/jquery.validate.unobtrusive.min.js"); var success = TempData["ProfileUpdateSuccess"] != null; } @*NOTE: This RenderJsHere code should be put on your main template page where the rest of your script tags are placed*@ @Html.RenderJsHere() @if (Members.IsLoggedIn() && profileModel != null) { if (success) { @* This message will show if RedirectOnSucces is set to false (default) *@

Profile updated

} using (Html.BeginUmbracoForm("HandleUpdateProfile")) {
Edit profile @Html.ValidationSummary("profileModel", true) @Html.LabelFor(m => profileModel.Name) @Html.TextBoxFor(m => profileModel.Name) @Html.ValidationMessageFor(m => profileModel.Name)
@Html.LabelFor(m => profileModel.Email) @Html.TextBoxFor(m => profileModel.Email) @Html.ValidationMessageFor(m => profileModel.Email)
@for (var i = 0; i < profileModel.MemberProperties.Count; i++) { @Html.LabelFor(m => profileModel.MemberProperties[i].Value, profileModel.MemberProperties[i].Name) @* By default this will render a textbox but if you want to change the editor template for this property you can easily change it. For example, if you wanted to render a custom editor for this field called "MyEditor" you would create a file at ~/Views/Shared/EditorTemplates/MyEditor.cshtml", then you will change the next line of code to render your specific editor template like: @Html.EditorFor(m => profileModel.MemberProperties[i].Value, "MyEditor") *@ @Html.EditorFor(m => profileModel.MemberProperties[i].Value) @Html.HiddenFor(m => profileModel.MemberProperties[i].Alias)
}
} }