传递给controller的参数为null

时间:2014-01-20 18:30:02

标签: asp.net-mvc asp.net-mvc-4 view parameters controller

当我试图发布表单时,而不是控制器null中方法的参数。那么代码有什么问题呢?

index.cshtml

@using (Html.BeginForm("Index", "Settings",  FormMethod.Post, new { id = "test1" }))
{
  <input type="submit" name="SaveButton" value="Save" />
}

Settingscontroller -

[HttpPost]
public ActionResult Index(string id)
{
   return View();
}

2 个答案:

答案 0 :(得分:1)

使用FormExtensions.BeginForm Method (HtmlHelper, String, String, Object, FormMethod, Object)

@using (Html.BeginForm("Index", "Settings",  new { id = "test1" }, FormMethod.Post, null))
{
  <input type="submit" name="SaveButton" value="Save" />
}

您正在使用FormExtensions.BeginForm Method (HtmlHelper, String, String, FormMethod, Object),其中object用于为元素设置的HTML属性。目前,它正在设置表单标记的ID。

答案 1 :(得分:0)

查看您网页的来源......

new {id =“test1”}设置表单标记的ID。您需要在表单的花括号中设置某种输入标记,就像使用提交输入一样。