Creating a contact form in Umbraco 7

I am new to MVC and I went for a tutorial on creating a contact form page, but I get this error message: the name of the namespace "Model" does not exist

Controller - ContactSurfaceController.cs

namespace test.Controllers { public class ContactSurfaceController : SurfaceController { [HttpPost] public ActionResult Contact(ContactModel model) { if (ModelState.IsValid) { var sb = new StringBuilder(); sb.AppendFormat("<p>Meddelande: {0}</p>", model.Message); sb.AppendFormat("<p>Namn: {0}</p>", model.Name); sb.AppendFormat("<p>E-post: {0}</p>", model.Email); sb.AppendFormat("<p>Telefon: {0}</p>", model.Phone); library.SendMail(" noreply@test.se ", " info@test.se ", model.Subject, sb.ToString(), true); return RedirectToUmbracoPage(model.ThankYouPage); } return CurrentUmbracoPage(); } } } 

Model - ContactModel.cs

 namespace test.Models { public class ContactModel { [Required] [DisplayName("Γ„rende")] public string Subject { get; set; } [Required] [DisplayName("Namn")] public string Name { get; set; } [Required] [DisplayName("E-post")] public string Email { get; set; } [DisplayName("Telefon")] public string Phone { get; set; } [Required] [DisplayName("Γ„rende")] public string Message { get; set; } public int ThankYouPage { get; set; } } } 

Partial view - ContactForm.cshtml

 @model test.Models.ContactModel @using (Html.BeginUmbracoForm("Contact", "ContactSurface", null, new {@class = "contact-form" })) { @Html.ValidationSummary(true) <div> @Html.LabelFor(x => x.Subject) @Html.TextBoxFor(x => x.Subject) @Html.ValidationMessageFor(x => x.Subject) @Html.LabelFor(x => x.Message) @Html.TextAreaFor(x => x.Message) @Html.ValidationMessageFor(x => x.Message) @Html.LabelFor(x => x.Name) @Html.TextBoxFor(x => x.Name) @Html.ValidationMessageFor(x => x.Name) @Html.LabelFor(x => x.Phone) @Html.TextBoxFor(x => x.Phone) @Html.ValidationMessageFor(x => x.Phone) @Html.LabelFor(x => x.Email) @Html.TextBoxFor(x => x.Email) @Html.ValidationMessageFor(x => x.Email) @Html.HiddenFor(x => x.ThankYouPage) </div> <input type="submit" value="Skicka" class="btn-accept" /> } 

And here I get an error message on the first line of the View - Contact.cshtml

 @using test.Models @inherits Umbraco.Web.Mvc.UmbracoTemplatePage @{ Layout = "uBlogsyBaseSite.cshtml"; } @Html.Partial("ContactForm", new ContactModel { ThankYouPage = Model.Content.GetPropertyValue<int>("thankYouPage") }) 

What did I miss?

I really need help with this, any help is appreciated.

Thanks Jonas

+6
source share
1 answer

Where do you store your surface controller code and model code?

It should be stored in app_code or in a separate DLL.

+3
source

All Articles