在DataList里放置单选按钮(Radio)

问题:当你在DataList放置Radio时,例如
If   Radio5.Checked   Then  
                          Response.Write("你选的是radio5")  
                  ElseIf   Radio6.Checked   Then  
                          Response.Write("你选的是radio6")  
                  ElseIf   Radio7.Checked   Then  
                          Response.Write("你选的是radio7")  
                  ElseIf   Radio8.Checked   Then  
                          Response.Write("你选的是radio8")  
   
                  End   If   
    
 可能出现“找不到对象”的错误。

原因:
由于DataList的内部原因(我们这里不深究),当页面发送到客户端的时候,会为它的每一个DataListItem中的控件的Name属性自动赋值。
         例如,DataList的ID为“DL”,嵌入DataList的单选按钮的Name值我们设为“radio”, 假设数据邦定后有3个DataListItem,那当页面发送到客户端的时候页面上的三个单选按钮的Name可能分别为"DL_ctl0_radio","DL_ctl1_radio","DL_ctl2_radio"。如此我们等到了三个完全不同的单选按钮,根本不可能实现三个按钮的单选效果。


解决方法:可以使用Html里面的radio(注意:不是服务器控件,这样系统不会在控件的ID上添加额外信息),最重要的就是使用Request.Form["radioid"] 获取(这里使用的是传统的ASP的方法),不要使用Request.QueryString["radioid"],因为它是针对服务器控件的,那样你获取的值始终是空    
  如果把radio放到datalist的外里,就可以!!!  
  请大家帮帮忙!!!

posted @ 2007-11-07 15:01  启明星工作室  阅读(1387)  评论(0编辑  收藏  举报