这是源中的html代码:
<asp:DropDownList ID="DropMachineType" runat="server" 
            DataSourceID="MachineTypeDataSource" DataTextField="MachineTypeName" 
            DataValueField="MachineTypeId"></asp:DropDownList>
        <asp:ObjectDataSource ID="MachineTypeDataSource" runat="server" 
            SelectMethod="GetAllMachineTypes" TypeName="sxnjmlsbBLL.MachineTypeManager">
        </asp:ObjectDataSource>
这是codebehind中的代码:
ProductInfo productInfo = ProductInfoManager.GetProductInfoById(id);
DropMachineType.SelectedValue= productInfo.MachineType.MachineTypeName.ToString();
productInfo.MachineType.MachineTypeName.ToString()的返回值已经是一个字符串,而DropMachineType控件之前已经绑定了数据源,现在让它显示该字符串的值。

解决方案 »

  1.   

    DropMachineType.SelectedValue= productInfo.MachineType.MachineTypeName.ToString();
    这样不行吗?
      

  2.   

    刚试过了,这样不行!
    提示错误:“DropMachineType”有一个无效 SelectedValue,因为它不在项目列表中。
    参数名: value请高人指点!
      

  3.   

    DropMachineType.SelectedIndex = DropMachineType.Items.IndexOf(DropMachineType.Items.FindByText(productInfo.MachineType.MachineTypeName.ToString()));
      

  4.   

    DropDownList 的选项中没有对应SelectedValue的项
    如果没有数据,没有默认提示无效 SelectedValue 
      

  5.   

    DropDownList 列表中没有指定的值呀!
      

  6.   

     按3楼的做了,不出错了,但dropdownlist出现的是初始化的值,不是该字符串的值!
      

  7.   

    问题已解决……谢谢各位了,呵呵
    通过下面的就可以实现了……
    DropMachineType.SelectedValue = productInfo.MachineType.MachineTypeId.ToString();