首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

获取RadioButtonList 值有关问题

2013-07-08 
获取RadioButtonList 值问题asp:RadioButtonList IDrblbtn runatserver /asp:RadioButtonList

获取RadioButtonList 值问题
<asp:RadioButtonList ID="rblbtn" runat="server" > </asp:RadioButtonList>
   <asp:Button ID="btndelte" runat="server" Text="删除"    OnClientClick="return test()" onclick="btndelte_Click"  />
RadioButtonList 数据源 后台动态绑定
页面加载后效果。
<tr>
<td><input id="rblbtn_0" type="radio" name="rblbtn" value="新建地址" /><label for="rblbtn_0">新建地址</label></td>
</tr><tr>
<td><input id="rblbtn_1" type="radio" name="rblbtn" value="897899978" /><label for="rblbtn_1">897899978</label></td>
</tr>


前台js 操作 
 function test() {
           
            var rblbtn = document.getElementById("<%=rblbtn.ClientID %>");
            var rbs = rblbtn.getElementsByTagName("input");
            for (var i = 0; i < rbs.length; i++) {
                var str = rbs[i].value;

                if (rbs[i].checked && rbs[i].value != "新建地址") {
                   var st= rbs[i].value;
                   if (window.confirm("确定删除") == true) {
 
                       return <%=udddpdate() %>;
                     }
                     else
                     {
                     return false;
                     }
                }


               
            }
        }

调用后台的方法

  public bool udddpdate()
    {
        string value = rblbtn.SelectedValue.ToString();
        if (rblbtn.SelectedValue.ToString() != "新建地址" && value !="")
        {
           UpdateAddress(value);
            BinDrop();
            return true;
        }
        else
            return false;
    }


为什么后台udddpdate方法中value值永远是空的。  假如我不用js调用  ,直接btndelte_Click事件中也获取 
不到选中项的值,也是为空,这是为什么?如果是循环
  for (int i = 0; i < this.rblbtn.Items.Count; i++)
        {
            string value = rblbtn.Items[i].Text;
            if (rblbtn.Items[i].Selected==true) //rblbtn.SelectedIndex == -1 也判断是否选中
            {

            }
            else
            {
                if (value != "新建地址")
                {

                }
            }
        }
  值是获取到了 ,但判断是否是选中项的时候,永远是没选中。 
请问是什么问题呢,大家指点一下啊 。


[解决办法]
Refer related:
http://www.cnblogs.com/insus/archive/2013/01/14/2859079.html
http://www.cnblogs.com/insus/archive/2013/05/07/3064844.html
http://www.cnblogs.com/insus/archive/2012/09/05/2671729.html
http://www.cnblogs.com/insus/archive/2013/05/01/3052722.html
[解决办法]
http://liuxiutianxia.blog.163.com/blog/static/11687940020122454530556/
RadioButtonList  的前台是转换为表格形式的(默认)HTML了,你需要看下加载后的结构。你需要遍历表格中的radio 元素。

JS 调用的话,并不会触发后台的回传机制(这个很恶心),所以也就去不到值了。
btndelte_Click事件 这个后台获取,如果获取值失败,有可能是ispostback的问题,看下http://bbs.csdn.net/topics/390499054 这个。

热点排行