您的位置:程序门 -> .net技术 -> c#



[求助]repeater嵌套radiobuttonlist读数据库问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


[求助]repeater嵌套radiobuttonlist读数据库问题[无满意答案结贴,结贴人:briareus]
发表于:2007-06-04 20:34:45 楼主
数据库wenti表结构为:

id     qus           aus1     aus2   aus3
1       问题1         a           b         c
2       问题2         d           e         f
3       问题3         h           i         j

我现在想用repeater嵌套radiobuttonlist来实现:

                <asp:repeater   id= "repeater1 "   runat= "server ">
                        <itemtemplate>
                                题目: <%#   eval( "qus ")   %>
                                选项:
                                <asp:radiobuttonlist   id= "radiobuttonlist1 "   runat= "server ">
                                <!--这里将数据表里的aus1、aus2、aus3以radiobutton形式显示出来(单选),每个问题的答案有所不同,所以要根据问题读出选项-->
                                </asp:radiobuttonlist>
                        </itemtemplate>
                </asp:repeater>

目前已经可以显示出题目列表,但不知道怎么把radiobuttonlist里的项目和aus1、aus2、aus3相关联,各位大侠教教我,小的感激涕零,谢谢,如果有更好的方法也请指出。
发表于:2007-06-04 20:48:221楼 得分:0
有两种方法
通用的方式是在写repeater_itemdatabound中去绑定子控件
发表于:2007-06-04 20:51:022楼 得分:0
以下代码供参考

        protected   void   repeater1_itemdatabound(object   sender,   repeateritemeventargs   e)
        {
             
                if   (e.item.itemtype   ==   listitemtype.item   ¦ ¦   e.item.itemtype   ==   listitemtype.alternatingitem)
                {
                        string   au_id   =   ((datarowview)e.item.dataitem).row[ "au_id "].tostring();
                        radiobuttonlist   radiobuttonlist1   =   (repeater)e.item.findcontrol( "radiobuttonlist1 ");
                        if   (radiobuttonlist1   !=   null)
                        {
                                sqlconnection   cn   =   new   sqlconnection( "server=.;uid=sa;pwd=;database=pubs ");
                                sqlcommand   cmd   =   new   sqlcommand( "select     au_id,   au_lname   from   authors   where   au_id   =   @au_id ",   cn);
                                cmd.parameters.add( "@au_id ",   sqldbtype.varchar,   11).value   =   au_id;
                                cn.open();
                                radiobuttonlist1.datasource   =   cmd.EXECutereader();
radiobuttonlist1.datavaluefield   =   "au_id ";
radiobuttonlist1.datatextfield   =   "au_lname ";
                                radiobuttonlist1.databind();
                                cn.close();
                        }
                }
        }
发表于:2007-06-04 21:14:533楼 得分:0
不要用   radiobuttonlist,直接使用   radiobutton

    <asp:repeater   id= "repeater1 "   runat= "server ">
                        <itemtemplate>
                                题目: <%#   eval( "qus ")   %>
                                选项:
                             
                                <asp:radiobutton   id= "radiobutton1 "   runat= "server "   text= ' <%#   eval( 'aus1 ')   %> '   groupname= ' <%#   eval( 'id ')   %> '   />
                                <asp:radiobutton   id= "radiobutton2 "   runat= "server "   text= ' <%#   eval( 'aus2 ')   %> '   groupname= ' <%#   eval( 'id ')   %> '/>
                                <asp:radiobutton   id= "radiobutton3 "   runat= "server "   text= ' <%#   eval( 'aus3 ')   %> '   groupname= ' <%#   eval( 'id ')   %> '/>


                        </itemtemplate>
                </asp:repeater>
============
手写的,没测试
发表于:2007-06-04 21:19:324楼 得分:0
为什么不用datalist?


快速检索

最新资讯
热门点击