html:
<ItemTemplate>
<asp:DropDownList id=Label4 runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "coOpen").ToString().Trim() %>'>
<asp:ListItem Value="显示">显示</asp:ListItem>
<asp:ListItem Value="隐藏">隐藏</asp:ListItem>
</asp:DropDownList>
</ItemTemplate>
asxp:string coOpen=((DropDownList)e.Item.Cells[5].FindControl("Label3")).ToString();这样怎么得不到DropDownList的值 ?应该怎么写才可以得到值?

解决方案 »

  1.   

    string coOpen=((DropDownList)e.Item.FindControl("Label3")).ToString();你定义的好像是Label4, 为什么这里会是Label3呢,如果还是有问题, 试试去掉.Cells[5]
      

  2.   

    private void grdCustomer_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
       {
      //点击表格打开
      if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
       e.Item.Attributes.Add("onclick","window.open(’Default.aspx?id=" + e.Item.Cells[0].Text + "’);");
     }
       //双击表格连接到另一页
       //在itemDataBind事件中
     if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
       {
      string OrderItemID =e.item.cells[1].Text;
       
      e.item.Attributes.Add("ondblclick", "location.href=’../ShippedGrid.aspx?id=" + OrderItemID + "’");
     }
        //双击表格打开新一页
     if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
       {
      string OrderItemID =e.item.cells[1].Text;
       
      e.item.Attributes.Add("ondblclick", "open(’../ShippedGrid.aspx?id=" + OrderItemID + "’)");
     }
       ★特别注意:【?id=】 处不能为 【?id =】
      

  3.   

    string coOpen=((DropDownList)e.Item.Cells[5].FindControl("Label3")).ToString();
    ---------------------------DropDownList ddl = ((DropDownList)e.Item.Cells[5].FindControl("Label4"));
    string coOpen = ddl.SelectedItem.Value;
      

  4.   

    用leafsword_519(一度的温暖) 的方法解决了此问题 ,谢谢