我正在试图弄清楚如何使一个简单的Contact Form SurfaceController工作。问题是,当我尝试导航到“联系我们”页面时,我得到路由表中的“无路由”与提供的值匹配。"错误。
我的表面控制器:
namespace UmbracoSurface2.Controllers
{
public class ContactFormSurfaceController : SurfaceController
{
public ActionResult Index()
{
return PartialView("ContactForm", new ContactFormViewModel());
}
}
}
我的ContactForm部分:
@model UmbracoSurface2.Models.ContactFormViewModel
<form>
<div class="controls controls-row">
@Html.TextBoxFor(m => m.Name)
@Html.TextBoxFor(m => m.Email)
</div>
<div class="controls">
@Html.TextAreaFor(m => m.Message, new { rows="5" })
</div>
<div class="controls">
<button id="contact-submit" type="submit" class="btn btn-primary input-medium pull-right">Submit</button>
</div>
</form>
和我的模板:
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
@{
Layout = "Master.cshtml";
}
@Html.Action("Index", "ContactFormController")
我和我发现的截屏和示例之间的一个重大区别是我使用的是Visual Studio 2013,因此ASP.NET网站模板有一个较新版本的MVC,我必须删除它获取UmbracoCms NuGet包进行安装。我也尝试过,而不是在开始时将MVC添加到项目中。
任何帮助/建议都将不胜感激,
杰森
答案 0 :(得分:2)
好的,根据Dan在Umbraco论坛上的答案here,问题是我的一个愚蠢的错误。模板中的@ Html.Action行应为:
@Html.Action("Index", "ContactFormSurface")
杰森