<EditItemTemplate>
<asp:RadioButton id="rb_3" runat="server" Text="男" AutoPostBack="false" Checked='<%# Convert.ToInt32(DataBinder.Eval(Container.DataItem,"sex"))==1?true:false %>' GroupName="iSign">
</asp:RadioButton>
<asp:RadioButton id="rb_4" runat="server" Text="女" AutoPostBack="false" Checked='<%# Convert.ToInt32(DataBinder.Eval(Container.DataItem,"sex"))==0?true:false %>' GroupName="iSign">
</asp:RadioButton>
</EditItemTemplate>
在点了编辑以后我在cs页面怎么才能取到这个值??
string city = ((TextBox)e.Item.Cells[1].Controls[1]).Text;文本框的话是这样取道的,单选框怎么取到呢??

解决方案 »

  1.   

    ((RadioButton)e.Item.Cells[1].Controls[1]).Checked
    大概是这样吧对c#不是很熟。vb的话应该是
    ctype(e.Item.Cells(1).Controls(1),RadioButton).checked
      

  2.   

    试试((RadioButton)this.FindControl("txt")).Checked不过建议使用RadioButtonList然后向该rdo添加RadioButton,这样就可以直接使用rdo.SelectedValue来取值了
      

  3.   

    ((RadioButton)e.Item.Cells[1].Controls[1]).Checked
    这个取得是<ItemTemplate></ItemTemplate>这个里面的值,怎样才能取到<EditItemTemplate></EditItemTemplate>的值呢??
      

  4.   

    你的意思不就是要获得“性别”栏位的取值吗?!我觉得你还是用RadioButtonList试试吧,很简单,只需要根据数据库中的数据对该RadioButtonList中的ListItem进行赋值即可,进行读取得时候就是按照rdo.SelectedValue获取该RadioButtonList的选中值。
    还不明白的话,mail给我好了[email protected]
      

  5.   

    你的两个RadioButton是互斥,所以你要用RadioButtonList,而不是用两个RadioButton.
    如果你一定要用,值还是可以获得的,上面的很多人都说过了.
      

  6.   

    可以的,按照上面我说的那种方式就可以的
    读的时候就用rdo.SelectedValue获取该RadioButtonList的值。
    当然要将EnableViewState=true设定
      

  7.   

    就是打开ViewState,关于ViewState,说的简单点它跟Session、Cache差不多,也是一种存储介质,如果是Web Control的话,它会帮你临时记录每个Web Control的编辑值,从而避免刷新丢失数据。
    要想了解它,可以找一下相关的帮助
      

  8.   

    取不到忘记viewstate,跟这个没关系要取到的话,参考:
    http://datagridgirl.com/customcolumns.aspx
      

  9.   

    需要循环
    http://218.27.204.17/aspnet/a_user.aspx