Asp.net mvc selectList.SelectedValue为空

Asp.net mvc selectList.SelectedValue为空,asp.net-mvc,selectlist,Asp.net Mvc,Selectlist,当我为下拉列表实现代码时,我一直会遇到这个错误。 这是我的密码: String sort = ""; String day_hire = "Daily hire rate"; String man_date = "Manufacturing date"; string man_n = "Manufacturer's name"; if (sl2.SelectedValue.ToString()== man_n) { sort = "man.manufacturer_name"; }

当我为下拉列表实现代码时,我一直会遇到这个错误。 这是我的密码:

String sort = "";
String day_hire = "Daily hire rate";
String man_date = "Manufacturing date";
string man_n = "Manufacturer's name";

if (sl2.SelectedValue.ToString()== man_n)
{
    sort = "man.manufacturer_name";

}
else if (sl2.SelectedValue.ToString() == man_date)
{
    sort = "veh.manufacturing_date";
}
else if (sl2.SelectedValue.ToString() == day_hire) 
{
    sort = "veh.daily_hire_rate";
}
else
{
    sort = "veh.daily_hire_rate"; 
}
这是在构造函数中。鉴于此,我有:

<%=Html.DropDownList ("sort",((SelectList)ViewData["selectOptions2"]))%>


这是一个运行时错误,表示
sl2.SelectedValue.ToString()
为空。请提供帮助

当您发布帖子时,所选值将存储在“排序”值中,您在此处声明了该值:

<%=Html.DropDownList ("sort",((SelectList)ViewData["selectOptions2"]))%>

这更详细。

对不起,我忘了说。这是一个选择列表。谢谢,我用另一种方法解决了我的问题。我使用FormCollection从selectList中检索信息。啊,是的,
FormCollection
是获取发布值的另一种方法。
[HttpPost]
public void Whatever()
{
    var selectedItem = Request.Form["sort"] // Or however you want to pick up the value.
}