Umbraco表面控制器未通过POST提交后端

Mor*_*der 2 umbraco umbraco7 surface-controller

我基本上有一个联系表单,我需要POST到我的Umbraco后端.前端看起来类似于:

using (Html.BeginUmbracoForm("HandleFormSubmit", "ContactForm", FormMethod.Post)) {
    <form>
        <input name="Name" type="text" />
        <button type="submit">Send</button>
    </form>
}
Run Code Online (Sandbox Code Playgroud)

然后我有一个表面控制器/Controllers/ContactFormController.cs,看起来像:

public class ContactFormController : SurfaceController {
    // GET: ContactForm
    public ActionResult Index() {
        return PartialView("ContactForm", new ContactForm());
    }

    [HttpPost]
    public ActionResult HandleFormSubmit(ContactForm model) {
        return RedirectToCurrentUmbracoPage();
    }
}
Run Code Online (Sandbox Code Playgroud)

我想尝试HandleFormSubmitPOST方法.GET方法有效(断点证明了这一点).无论我做什么,我都无法接受这种方法.我看过很多指南,所有这些指南似乎与此完全相同.

POST数据如下:

url: /contact-us/
data: name="Test"
Content-Type: multipart/form-data
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?使用Umbraco 7.6.6

Dav*_*trg 7

您的问题是您在表单内呈现表单.

您的视图应如下所示:

using (Html.BeginUmbracoForm("HandleFormSubmit", "ContactForm", FormMethod.Post)) {
    <input name="Name" type="text" />
    <button type="submit">Send</button>
}
Run Code Online (Sandbox Code Playgroud)

它应该工作.