Tôi đang mới để MVC, và tôi đã theo một hướng dẫn để xây dựng một trang mẫu liên hệ nhưng nhận được thông báo lỗi này: tên không gian tên 'Mô hình' không tồn tạiXây dựng một hình thức liên lạc trong Umbraco 7
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("[email protected]", "[email protected]", model.Subject, sb.ToString(), true);
return RedirectToUmbracoPage(model.ThankYouPage);
}
return CurrentUmbracoPage();
}
}
}
Người mẫu - 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" />
}
Và Nó rất ở đây tôi nhận được thông báo lỗi trên là người đầu tiên dòng 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") })
có tôi bị mất gì?
Tôi thực sự cần trợ giúp với điều này, mọi trợ giúp đều được đánh giá cao.
Cảm ơn, Jonas
Tôi lưu trữ nó trong thư mục Bộ điều khiển và Mô hình. Nhưng điều đó không nên gây ra thông báo lỗi, hoặc? – user3446407
Có, nó gây ra thông báo lỗi. Nếu được lưu trữ trong thư mục "bộ điều khiển" và "mô hình", bạn nên XÂY DỰNG chúng một cách thích hợp bằng cách sử dụng studio trực quan hoặc msbuild. Nhưng bạn có thể, có một "trang web" cấu hình. Và các trang web không biên dịch các tệp bên ngoài app_data. – dampee
Cảm ơn bạn! Nó hoạt động! – user3446407