Post在MVC中不起作用

时间:2017-03-16 09:26:44

标签: .net

   **View:**
   @model BusinessLayer.Family
   @{
     Layout = "~/Views/Shared/_Layout.cshtml";
    }
    @using (Html.BeginForm("FamilyDetails", "Family", FormMethod.Post))
    {
     <input id="btn_submit" type="submit" value="Submit" />
    }

    **controller:**
    [HttpGet]
    public ActionResult FamilyDetails()
    {
        Family mymodel = new Family();
        return View(mymodel);
    }

    [HttpPost]
    public string FamilyDetails()
    {
        return "Family";
    }

不使用Layout Post正在工作。当我使用Layout时,Get正在触发而不是发布。请帮助我。谢谢你

2 个答案:

答案 0 :(得分:1)

请至少在开始表单区域中指定表单方法,因为默认情况下它会调用Post方法。当您使用布局操作时,将在Layout的正文中部分呈现,以便它到达Action的get区域。但是当你在没有布局的情况下使用时,它会有一个动作的直接URL,默认情况下它会命中一个动作的Post区域。

答案 1 :(得分:0)

试试这个。

    @using (Html.BeginForm("submit", "controllername",FormMethod.Post))
{ 
  <input id="btn_submit" type="submit" value="Submit" />
}