本帖最后由 LikeCode 于 2009-09-16 17:41:17 编辑

解决方案 »

  1.   

    (DropDownList)GV_PlateSamples.Rows[i].FindControl("ddl_failurereason")).Controls(0).SelectedValue = "pcr")
      

  2.   

    //3种方法皆可 
    1 foreach(Control c ...)
    2 foreach(GridViewRow row ...)
    3 for(int i...)
      

  3.   

    DropDownList ddl=(DropDownList )GV_PlateSamples.Rows[i].FindControl("ddl_failurereason");
    ddl.SelectedValue ="";
      

  4.   

    (DropDownList)GV_PlateSamples.FindControl("ddl_failurereason")).SelectedValue = "pcr"
      

  5.   

    也从来没有 在 CSDN 上 加上  程序员提问
      

  6.   

    (DropDownList)GV_PlateSamples.FindControl("ddl_failurereason")).SelectedValue = "pcr" 
    这个简单点
      

  7.   

    DropDownList ddl=(DropDownList )GV_PlateSamples.Rows[i].FindControl("ddl_failurereason"); 
    ddl.SelectedValue =""; 
      

  8.   

    分情况处理 看你的 DropdownList 是在头 还是在 身子 要是在身子上 1楼正解  要是在头的话 得另一种解决方法  就不能取Rows了
      

  9.   

    其实你这是有语法错误的if ((DropDownList)GV_PlateSamples.Rows[i].FindControl("ddl_failurereason")).SelectedValue == "pcr") Rows[i]中最好在指定Cells,msdn说FindControl会递归查找子Control,但是我不确定..也许是某些方法会,何况指定后会稍微提高一下速度,对不
      

  10.   

    if ((DropDownList)GV_PlateSamples.Rows[i].FindControl("ddl_failurereason")).SelectedValue = "pcr")
    明显少(而且应该是==
    if (((DropDownList)GV_PlateSamples.Rows[i].FindControl("ddl_failurereason")).SelectedValue == "pcr")
    应该是这么写