detailsview中的                <EditItemTemplate>                               <asp:RadioButtonList ID="RdBtSex" runat="server" RepeatDirection="Horizontal" CausesValidation="false" SelectedValue='<%# Bind("sex") %>'>
                       <asp:ListItem Value="男" Text="男"></asp:ListItem>
                       <asp:ListItem Value="女" Text="男"></asp:ListItem>
                   </asp:RadioButtonList>                    </EditItemTemplate>

解决方案 »

  1.   

    sex值是?
    Value="1" Text="男"
      

  2.   

    不是说得很清楚了么? SelectedValue='<%# Bind("sex") %>' 这里的值不在下面的项目列表中了么?
    看一下sex的值是什么,用别的看看咯,如BindField这些
      

  3.   

    看数据库的值是不是只有男或女?或是其他int?或者是null?
      

  4.   

    你给的selectvalue无效,或者有效,但是这个value在item是没有的。
      

  5.   

    我数据库设置的是string醒!后台直接RaBtListSex.SelectedValue="男"话就默认选中男!可是我加上判断数据库if("男"==sex(注:数据库))RaBtListSex.SelectedValue="男"else RaBtListSex.SelectedValue="女"。没有错误,只是达不到我想要的效果!简单点说就是我要在DetailsView编辑状态下,RadioButtonList默认选中的性别为数据库中的性别!我试了很多方法了都不行
      

  6.   

    sex 的值是string型 存储的数据是男或是女
      

  7.   

    我应经.trim()后才放进数据库了
      

  8.   

    RaBtListSex.SelectedValue ="男";就可以默认选中男;可以不能动态默认选中,就是 RaBtListSex.SelectedValue =sex(注:数据库中数据)没有效果;
      

  9.   

     sex = dt.Rows[0]["sex"].ToString();
      

  10.   

    按你的描述,应该是数据库存的不是“男”,导致错误
    使用SqlDataSource作为数据源的话,可以直接这么绑定,不用另写后台代码<asp:RadioButtonList ID="RadioButtonList1" runat="server" SelectedValue='<%# Bind("Sex") %>' RepeatDirection="Horizontal">
        <asp:ListItem Value="男">男</asp:ListItem>
        <asp:ListItem Value="女">女</asp:ListItem>
    </asp:RadioButtonList>
      

  11.   

    一语惊醒梦中人,非常谢谢,写成sex = dt.Rows[0]["sex"].ToString().trim();就可以了