最近被迫要作个简单的网络考试系统,在做到答题页面时,出现个问题!
在我的repeater 的itemtemplate 里面有这段代码<td><asp:RadioButtonList ID="answers" Runat="server" RepeatDirection="Horizontal">
<asp:ListItem Value="A">A.<%# DataBinder.Eval(Container.DataItem,"q_answer1")%>
</asp:ListItem>
<asp:ListItem Value="B">B..<%# DataBinder.Eval(Container.DataItem,"q_answer2")%>
</asp:ListItem>
<asp:ListItem Value="C">C..<%# DataBinder.Eval(Container.DataItem,"q_answer3")%>
</asp:ListItem>
</asp:RadioButtonList></td>
我的意思是 要把一个问题的三个供选答案显示出来,  但是我一转换到设计模式,就说控件出错
我这样也还是不行
<asp:ListItem Value="A" Text="A.<%# DataBinder.Eval(Container.DataItem,"q_answer1")%>">
</asp:ListItem>
这样虽然不会出错,但是数据无法显示出来!!!
    我不知道 这是怎么回事
Reaper 的  ItemDataBound事件的第二个参数
e.Item.DataItem  实际是什么类型  
这里面存者等待绑定的数据 关键是怎么读出来 
/////////
  或者哪为老大教 哈子我怎么设计 那个  网络考试系统的 答题页面,关键是那个显示答案的东西
 这个问题捆饶了我三天三夜!!哪为高手帮帮忙,小弟不胜感激!

解决方案 »

  1.   

    <asp:ListItem Value="A" Text="A.<%# DataBinder.Eval(Container.DataItem,"q_answer1")%>">
    </asp:ListItem>
    -->
    <asp:ListItem Value="A" Text='A.<%# DataBinder.Eval(Container.DataItem,"q_answer1")%>'>
    </asp:ListItem>
    非得要这样写的话,应该是这样吧?
      

  2.   

    呵呵,我现在也正在写一个考试系统,上面的问题都解决了,都是用DataGride做的,用模板
      

  3.   

    在后台Repeater的ItemDataBound()时间中这样写
    public void Repeater1_ItemDataBound(object sender,System.Web.UI.WebControls.RepeaterItemEventArgs e)
    {
         RadioButtonList radioList= (RadioButtonList)e.Item.findControl("answers")
         radioList.Items[0].Text=DataBinder.Eval(e.DataItem,"q_answer1",{0});
         radioList.Items[1].Text=DataBinder.Eval(e.DataItem,"q_answer2",{0});
         ..
         ..         
    }
    然后将Repeater的ItemDataBound设置成Repeater1_ItemDataBound就可以啦!
      

  4.   

    在前台一般情况下,不允许你那样写!
    因为RadioButtonBox也属于列表控件!