.NET如何使用GET发送下拉列表项的值

时间:2014-06-24 20:44:24

标签: c# asp.net-mvc-5

我想在我的actionlink中将我的下拉列表的值作为GET方法发送。 如何获取所选值并将其作为参数发送?

@Html.DropDownList(string.Format("User_{0}", item.UserID), ListProvider.GetRoles(roleId), new {  })
@Html.ActionLink("Set", "UpdateRole", "Admin", new { userId = item.UserID, roleId = roleId }, null)

1 个答案:

答案 0 :(得分:1)

您应该使用@Html.BeginForm代替行动链接发出此类GET请求。

在这种情况下,表单将自动为您构建所有需要的参数。

使用

@using (Html.BeginForm("Set", "UpdateRole",  new { area="Admin", userId = item.UserID, roleId = roleId }, FormMethod.Get))
{
    @Html.DropDownList(string.Format("User_{0}", item.UserID), ListProvider.GetRoles(roleId), new {  })
}

@using (Html.BeginForm("Set", "UpdateRole", new { area="Admin"}, FormMethod.Get))
{
    @Html.Hidden("userId", item.UserID);
    @Html.Hidden("roleId", roleId);
    @Html.DropDownList(string.Format("User_{0}", item.UserID), ListProvider.GetRoles(roleId), new {  })
}