将对象属性传递给控制器

时间:2014-11-24 14:46:24

标签: c# asp.net-mvc

在视图中,我有一个下拉列表

@using (Html.BeginForm("Index", "CharterSchoolParameters", FormMethod.Post))
{
    @Html.DropDownListFor(x => x.SelectedScenario.ID, Model.ScenarioList,
    new { onchange = "submit()"})
}

如何将SelectedScenario.ID传递给控制器​​?

以下是我想将其传递给的方法定义:

public ActionResult Index(int? selectedScenario_Id)

我不确定如何匹配这些名字。

2 个答案:

答案 0 :(得分:0)

我认为asp.net mvc为你的参数绑定的名称是SelectedScenario_ID,试试这个:

[HttpPost]
public ActionResult Index(int? SelectedScenario_ID)
{
   /// code...
}

另一方面,您只能使用DropDownList作为示例:

@using (Html.BeginForm("Index", "CharterSchoolParameters", FormMethod.Post))
{
   @Html.DropDownList("selectedScenarioId", Model.ScenarioList)
}

[HttpPost]
public ActionResult Index(int? selectedScenarioId)
{
   /// code...
}

答案 1 :(得分:0)

如果您使用默认的MVC路由,则只需将传递给控制器​​的参数名称更改为id,如@Ahmed ilyas所说。

[HttpPost]
public ActionResult Index(int? id)
{
    //code
}