asp.net mvc 4 [HttpPost]无法正常工作

时间:2014-08-07 11:01:08

标签: c# asp.net-mvc

我是asp.net MVC 4的新手。我在处理attributs方面遇到了一些问题

我在我的控制器中使用[httppost] attribut,但它无法正常工作

它甚至没有被调用

我的控制器

    public ActionResult Inscription()
    {
        return View();
    }


    [HttpPost]
    public ActionResult Inscription(Candidat candidat)
    {
        if (!ModelState.IsValid)
        {
            return View(candidat);

        }

        return RedirectToAction("Index");
    }

我的观点

     @model ProcRec.Models.Candidat

     @{
     ViewBag.Title = "Inscription";
     Layout = "~/Views/Shared/_Layout.cshtml";
      }


      @Html.ValidationSummary(true) 
     <div class="form_settings">
      @using (Html.BeginForm("Inscription", "CandidatController"))
      { 

      <table ="#FFFFFF">
      <tr>

      <td>@*<span >Nom :</span>*@ @Html.LabelFor(model => model.nom_candidat)</td>

      <td> @Html.TextBoxFor(model => model.nom_candidat)
            @Html.ValidationMessageFor(Model => Model.nom_candidat)     

             .

             .

       </table>

       }
  <input type="submit"  class="submit right"  value="Inscription" /> 

认为你的帮助

3 个答案:

答案 0 :(得分:4)

只需将beginform更正为:

@using (Html.BeginForm("Inscription", "CandidatController",FormMethod.Post))
{ 
  ........
  <input type="submit"  class="submit right"  value="Inscription" /> 
}

将提交按钮放在BeginForm()中,并将BeginForm()FormMethod作为Post。

Thankzz ..

答案 1 :(得分:3)

<submit>元素放在表单中:

@using (Html.BeginForm())
{ 
    ...
    <input type="submit"  class="submit right"  value="Inscription" /> 
}

答案 2 :(得分:2)

无需更改Html.BeginForm。默认情况下它是POST。

检查:FormExtensions.BeginForm

只有问题在于提交按钮,它应该是Andy Refuerzo's answer中提到的内部格式。不知道为什么会被低估。