C# 如何从ListView中的DropDownList中获取值?

C# 如何从ListView中的DropDownList中获取值?,c#,asp.net,listview,C#,Asp.net,Listview,我在ListView中有一个DropDownList。。 我想在单击命令时获取数据。 这是我的密码 protected void ListView2_ItemCommand(object sender, ListViewCommandEventArgs e){ string shipmethod = ((DropDownList)e.Item.FindControl("ShippingComapnyDDL")).SelectedValue; } 但它总是返回空值。。 我用谷歌搜索了大约3个

我在ListView中有一个DropDownList。。 我想在单击命令时获取数据。 这是我的密码

protected void ListView2_ItemCommand(object sender, ListViewCommandEventArgs e){

string shipmethod = ((DropDownList)e.Item.FindControl("ShippingComapnyDDL")).SelectedValue;

}
但它总是返回空值。。 我用谷歌搜索了大约3个小时,并尝试了很多功能。。 但是仍然不能解决这个错误

请帮帮我,伙计们

更新 这是我的aspx页面

 <asp:DropDownList ID="ShippingComapnyDDL"  runat="server" SelectedValue='<%# Eval("ShippingCompany") %>'>
<asp:ListItem Text="" Value=""></asp:ListItem>
<asp:ListItem Text="FedEx" Value="FedEx"></asp:ListItem>
<asp:ListItem Text="UPS" Value="UPS"></asp:ListItem>
<asp:ListItem Text="Other" Value="Other"></asp:ListItem>
</asp:DropDownList>

你设置了标题吗?试试看

    if(e.Item.ItemIndex!=-1)
{
     string shipmethod = ((DropDownList)e.Item.FindControl("ShippingComapnyDDL")).SelectedValue; 
}

if not working then try     
string shipmethod = (e.Item.FindControl("ShippingComapnyDDL") as DropDownList).SelectedValue; 
试试这个:

  DropDownList ddl = (DropDownList)e.Item.FindControl("ShippingComapnyDDL");
  if (ddl != null)
  {
       //code here
  }
请试一试

<%#DataBinder.Eval(Container.DataItem,"ShippingCompany")%>
而不是

<%#Eval("ShippingCompany")%>
有关详细信息:


可能是因为你拼错了Company.这只是魔力字符串不好的另一个原因:-你确定listview在postback@DorCohen不,它来自我的DDL ID。它是从第一个拼错的,太懒了,无法修复…@ViSu我在同一个listview上有textbox控件,但是它可以检索到一个值runat应该设置为sever我想应该已经设置了,否则可能会出现编译错误。请尝试将autopostback设置为true