HttpPost和HttpGet不工作?

时间:2012-09-01 16:22:02

标签: asp.net-mvc-3

在Mvc应用程序中,我创建了一个简单的应用程序,HttGet,HttpPost但不起作用。 这是我的代码:

型号:

public class SasiClass
{
    public int SasiId { get; set; }
    public string SasiName { get; set; }
    public string SasiAddress { get; set; }
}

控制器:

 [HttpGet]
    public ActionResult CreateSasi()
    {
        SasiClass objSasi = new SasiClass();
        return View(objSasi);
    }

    [HttpPost]
    public ActionResult CreateSasi(SasiClass obj)
    {
        return View("Show",obj); 

    }

查看:    创建Sasi:

@using (Html.BeginForm("CreateSasi", "Home"))
{
 <table >
   <tr>
      <td>Sasi ID</td>
      <td>@Html.TextBox("SasiId",@Model.SasiId ) </td>
   </tr>
  <tr>
      <td>Sasi Name</td>
     <td>@Html.TextBox("SasiName",@Model.SasiName) </td>
 </tr>
    <tr>
      <td>Sasi Address</td>
     <td>@Html.TextBox("SasiAddress",@Model.SasiAddress) </td>
 </tr>
  <tr>
       <td colspan="2">@Html.ActionLink("Submit","CreateSasi")  </td>  
  </tr>
 </table>
 }

显示:    图

  <table>
 <tr>
  <td>Id: </td>
  <td>@Model.SasiId</td>
 </tr>
 <tr>
  <td>Name: </td>
  <td>@Model.SasiName</td>
   </tr>
   <tr>
     <td>Address: </td>
     <td>@Html.TextBox("address", @Model.SasiAddress)</td>
   </tr>

1 个答案:

答案 0 :(得分:2)

你应该在视野中使用SasiId而不是Id

<td>@Html.TextBox("SasiId",@Model.SasiId ) </td>

EDIT !!!

您应该提交表单,而不是链接到操作!在这种情况下,这是错误的:

<td colspan="2">@Html.ActionLink("Submit","CreateSasi")  </td>  

这样做:

<td colspan="2"><input type="submit"/>  </td>