将带有@html.beginform和dropdownlist的参数传递给控制器

时间:2013-10-31 12:18:46

标签: asp.net view controller viewmodel

向控制器提交参数时遇到问题。我希望控制器中的一个参数注入下拉列表中的值。

代码:

  @Html.BeginForm("ChangeUserNewsdesk","UserList", new { id = Model.Id , newsdeskId = VALUE FROM LIST}, FormMethod.Post)        
        {
            @Html.DropDownListFor(m => m.List, Model.List)
        }

控制器注入的代码:

public ActionResult ChangeUserNewsdesk(Guid id, string newsdeskId)
 {

 }

列表显示正常,但我需要添加一个按钮,当点击它时,使用下拉列表中的正确值填充newsdeskId。

提前致谢!

1 个答案:

答案 0 :(得分:0)

解决方案是其中一个参数将自动发送,名称为左参数,可以很容易地映射到控制器中。

例如:

查看

@Using Html.BeginForm("ChangeUserNewsdesk","UserList", new { id = Model.Id}, FormMethod.Post)
{   
@Html.DropDownListFor("newsdeskName", Model.List)
}

<强>控制器

public ActionResult ChangeUserNewsdesk(Guid id,string newsdeskName){

}

值newsdeskName将包含相应的model.list文本,并将作为newsdeskName发送和匹配。