asp.net mvc 4 [HttpPost] not working

本文关键字:not working HttpPost net mvc asp | 更新日期: 2023-09-27 18:16:59

我是asp.net MVC 4的新手。我在处理属性

时遇到了一些问题

我使用[httppost]属性在我的控制器,但它不工作

它甚至没有被调用

my controller

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

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

my view

     @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" /> 

感谢你的帮助

asp.net mvc 4 [HttpPost] not working

纠正beginform as:

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

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

Thankzz . .

将您的<submit>元素放入表单:

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

不需要更改Html.BeginForm。默认情况下是POST。

检查:FormExtensions。BeginForm

唯一的问题是提交按钮,它应该是内部的形式,在安迪的回答中提到的。不知道为什么会被否决