我的repeater分页 已经做好了  现在每页都有单选按钮       但是当我第一页选择完所有的单选按钮后  点击进入其它页  然后再返回第一页  发现第一页所选的单选按钮都没有被选中了 
请问该怎么解决呢           求助:谢谢

解决方案 »

  1.   

    通过cookie或hidddenfield保存临时选择的数据
      

  2.   

    页面刷新了肯定就没了!
    放个updatepanle
      

  3.   

    使用Ajax,页面无刷新,就可以保存了!
      

  4.   

    dingzongyinnihao
    我实现了页面无刷新 没用   通过cookie或hidddenfield 还算靠谱  但是求指点啊
      

  5.   

    用hidddenfield 难道要为每一页每一行的单选按钮来格外的建一个hidddenfield吗??具体怎么操作啊         求高人相助啊
      

  6.   

    那保存后 怎么又获取对应cookie里面的值  然后显示在对应的单选按钮上呢        没用过cookie wuyq11帮帮忙啊
      

  7.   

    点击这个单选按钮把选择的页码数和被选择的单选按钮的值存入cookie,在翻页事件里面读取这个cookie,如果不为null,就取值。
      

  8.   

    参见
    http://dotnet.aspx.cc/file/Cross-Pages-Checked-GridView.aspx
    http://dotnet.aspx.cc/article/f43af9a5-2c2e-4aa6-e976-21e9569f5a8a/read.aspx
      

  9.   

    http://blog.csdn.net/wlzwcr/archive/2010/12/17/6082158.aspx   //有一个demo,前一页有选中的话,返回上一页,会自动选中
      

  10.   

    我的每一行有4个单选   我的repeater功能就是实现考试的功能           现在遇到我上述所说的问题   请问大家有类似于我这种案例的代码吗        谢谢了          
      

  11.   

    这个就用cookie来做了,不但可以判断每页中每个题目的选择,还可以得到你是否答完了题目。
      

  12.   

    网站可能有常用的成百上千的页面(算上url参数不同的),同一个aspx被反复利用,cookie的容量存不下。而且不管你访问什么页面所有的cookie都完全地传来传去,也就是说你访问一个关于“选择一个媳妇”的页面,却把有关“杀了多少头猪”等等其它几百个页面的内容的cookie数据都带来,这肯定是不对的。页面交互的状态,是ViewState。对于一个页面它自己回发,页号本来就是在ViewState中的。现在你不过就是需要把所有需要“选中”的行的关键值保存起来,然后在页面上匹配。比如举例数据结构:private List<string> 选中的媳妇的身份证号
    {
      get
      {
        return (List<string>)(ViewState["sele"]??new List<String>());
      }
    }这样,这个属性的初始默认值是空集合,当你增加一个媳妇的时候就可以增加this.选中的媳妇的身份证号.Add("238892873472348283482384");而删除就是this.选中的媳妇的省份证号.Remove("238892873472348283482384");不论怎么翻页,这个集合没有丢失。只有当你重定向到其它页面,信息自然就消失了。接下来,再你的Repeater的模板中就可以绑定checked的值,例如:<asp:CheckBox runat="server" Checked='<%# this.选中的媳妇的身份证号.Contains((string)Eval("身份证号")) %>' ID=..... />
      

  13.   

    只要你看到局限在页面内部作用域的状态信息,要首先要考虑ViewState是否合适来作为数据的容器。
      

  14.   

    sorry,没有把初始的集合写到ViewState,是我的失误。修改一下:private List<string> 选中的媳妇的身份证号
    {
      get
      {
        var lst=ViewState["sele"];
        if(lst==null)
        {
            lst=new List<String>();
            ViewState["sele"]=lst;
        }
        return lst;
      }
    }
      

  15.   

    你这个 是 复选框啊  我的是4个radio啊            但你这个思路还是可以考虑的  我会好好的想想
    谢谢大家的帮忙   明天继续中             有思路和方法的朋友 帮个忙 明天回复大家了      谢谢sq1234      sq1234你能改进下你的方法不      呵呵  我真的菜啊
      

  16.   


    <asp:HiddenField ID="txt" runat="server" />//保存选择项 题目ID+选项+分隔符
            <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
                DataKeyNames="contact_person_id" DataSourceID="SqlDataSource1" 
                EnableModelValidation="True" AllowPaging="True">
                <Columns>
                    <asp:BoundField DataField="contact_person_id" HeaderText="contact_person_id" 
                        InsertVisible="False" ReadOnly="True" SortExpression="题目id" />
                    <asp:TemplateField>
                        <ItemTemplate>
                           <input type="radio" onclick=document.getElementById('txt').value+=this.id+'|' value="" name='<%#Eval("题目id") %>' id='<%#Eval("题目id") %>A' />A
                           <input type="radio" onclick=document.getElementById('txt').value+=this.id+'|' value="" name='<%#Eval("题目id") %>' id='<%#Eval("题目id") %>B' />B
                           <input type="radio" onclick=document.getElementById('txt').value+=this.id+'|' value="" name='<%#Eval("题目id") %>' id='<%#Eval("题目id") %>C' />C
                           <input type="radio" onclick=document.getElementById('txt').value+=this.id+'|' value="" name='<%#Eval("题目id") %>' id='<%#Eval("题目id") %>D' />D
                           <input type="text" name='hf' id='<%#Eval("题目id") %>h' />
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>
    只写了一部分,大概思路HiddenField保存题目id及选项,然后js解析HiddenField值给radio赋值,还有很多细节
      

  17.   

    用session保存 用 arraylist list.Add();
    if(list.contains()){
     findControl() as radioButton;
    radio.checked
    }
      

  18.   

    非常的感谢大家 的帮忙     大家的思路太活跃了        
    我用的hidddenfield来保存值  然后用js来判断哪些radio是选中的  功能实现了  
    再次表示感谢但
    目前遇到一个问题是       可能又涉及到刷新吧   当我点击切换页面的页码时  被选中的radio也选中了  点击完成后(即松开鼠标后)被选择的radio又消失了  显示时又是未选状态      请问这是什么原因呢 ????