105 lines
4.4 KiB
Plaintext
105 lines
4.4 KiB
Plaintext
@inherits Umbraco.Web.Macros.PartialViewMacroPage
|
|
|
|
@using System.Web.Mvc.Html
|
|
@using ClientDependency.Core.Mvc
|
|
@using Umbraco.Web
|
|
@using Umbraco.Web.Controllers
|
|
|
|
@{
|
|
@*
|
|
You can specify a custom member type alias in the constructor, the default is 'Member'
|
|
for example, to use 'Custom Member' you'd use this syntax:
|
|
|
|
var registerModel = Members.CreateRegistrationModel("Custom Member");
|
|
*@
|
|
|
|
var registerModel = Members.CreateRegistrationModel();
|
|
|
|
@*
|
|
Configurable here:
|
|
|
|
registerModel.RedirectUrl - Optional. What path to redirect to if registration is successful.
|
|
By default the member will be redirected to the current umbraco page
|
|
unless this is specified.
|
|
|
|
registerModel.UsernameIsEmail - the default is true
|
|
if you want the username to be different from the email
|
|
address, set this to true and add a new Username field in
|
|
the form below
|
|
|
|
@Html.LabelFor(m => registerModel.Username)
|
|
@Html.TextBoxFor(m => registerModel.Username)
|
|
@Html.ValidationMessageFor(m => registerModel.Username)
|
|
*@
|
|
|
|
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["FormSuccess"] != 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 (success)
|
|
{
|
|
@* This message will show if RedirectOnSucces is set to false (default) *@
|
|
<p>Registration succeeded.</p>
|
|
}
|
|
else
|
|
{
|
|
using (Html.BeginUmbracoForm<UmbRegisterController>("HandleRegisterMember"))
|
|
{
|
|
<fieldset>
|
|
<legend>Register Member</legend>
|
|
|
|
@Html.ValidationSummary("registerModel", true)
|
|
|
|
@Html.LabelFor(m => registerModel.Name)
|
|
@Html.TextBoxFor(m => registerModel.Name)
|
|
@Html.ValidationMessageFor(m => registerModel.Name)
|
|
<br />
|
|
|
|
@Html.LabelFor(m => registerModel.Email)
|
|
@Html.TextBoxFor(m => registerModel.Email)
|
|
@Html.ValidationMessageFor(m => registerModel.Email)
|
|
<br />
|
|
|
|
@Html.LabelFor(m => registerModel.Password)
|
|
@Html.PasswordFor(m => registerModel.Password)
|
|
@Html.ValidationMessageFor(m => registerModel.Password)
|
|
<br />
|
|
|
|
@if (registerModel.MemberProperties != null)
|
|
{
|
|
@*
|
|
It will only displays properties marked as "Member can edit" on the "Info" tab of the Member Type.
|
|
*@
|
|
for (var i = 0; i < registerModel.MemberProperties.Count; i++)
|
|
{
|
|
@Html.LabelFor(m => registerModel.MemberProperties[i].Value, registerModel.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 => registerModel.MemberProperties[i].Value)
|
|
@Html.HiddenFor(m => registerModel.MemberProperties[i].Alias)
|
|
<br />
|
|
}
|
|
}
|
|
|
|
@Html.HiddenFor(m => registerModel.MemberTypeAlias)
|
|
@Html.HiddenFor(m => registerModel.RedirectUrl)
|
|
@Html.HiddenFor(m => registerModel.UsernameIsEmail)
|
|
|
|
<button>Register</button>
|
|
</fieldset>
|
|
}
|
|
}
|