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
source share