我在DagaGrid中有一个RedioButton控件,在ItemDataBound时候我加入了两个属性rb.Attributes.Add( "HospitalID",drv["ID"].ToString() );
rb.Attributes.Add( "HospitalName",drv["NAME"].ToString() );
当用户选中一个时候触发后台事件,这时候我想获取到HospitalID和HospitalName两个属性值是否有办法??

解决方案 »

  1.   

    private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    RadioButton rb = (RadioButton)e.Item.FindControl("rb");
    if(rb !=null)
    Response.Write(rb.Attributes["HospitalID"]); }
      

  2.   

    我建议你还不如写一个javascript,放置一个隐藏的asp:textbox,当RedioButton被触发时候,把id和name写入textbox,然后后台读取这个textbox的text。
    其实你无非就是想读取和RedioButton所绑定的关联数据,我有个简单的办法,就是把id和name用特殊符号比如###链接在一起绑定RedioButton的某个可绑定属性比如tooltip,那么在后台就可以直接读取RedioButton的tooltip值了
      

  3.   

    幕白兄 当我点击DagaGrid中的RadioButton的时候为什么 DataGrid1_ItemCommand 没有被触发?
    我的InitializeComponent中也有啊
      

  4.   

    幕白兄的是正确的关键是你得把那个radiobutton的autoPostBack=true 再试下吧
      

  5.   

    radiobutton 不可以触发 ItemCommand事件吧 为什么我点击了radiobutton AutoPostBack="True"  为什么仍然不能触发ItemCommand啊??
      

  6.   

    一般只有按钮控件类如button  linkbutton才能触发itemcommand事件,你可以在radiobutton旁边放置一个隐藏的button按钮,当点击radio的时候用脚本点击button,按钮在itemdataboud加上脚本rb.Attributes.Add( "onclick","document.getElementById("+ e.item.findcontrol(buttonID).clientID +").click();" );