Создание контактной формы в Umbraco 7
Im новый для MVC, и я следовал учебнику для создания страницы формы контакта, но получаю это сообщение об ошибке: имя пространства имен "модели" не существует
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();
}
}
}
Модель - 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; }
}
}
Частичный Вид-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" />
}
и здесь я получаю сообщение об ошибке в первой строке Вид-Контакт.cshtml по
@using test.Models
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
@{
Layout = "uBlogsyBaseSite.cshtml";
}
@Html.Partial("ContactForm", new ContactModel { ThankYouPage = Model.Content.GetPropertyValue<int>("thankYouPage") })
что у меня есть промахнулся?
мне действительно нужна помощь в этом, любая помощь приветствуется.
спасибо, Йонас!--5-->
1 ответов
где вы храните код контроллера surface и код модели?
Он должен храниться в app_code или в отдельной DLL.